포도 요소를 사용하여 모델 메서드에 인수를 전달하려면 어떻게해야합니까?grape-entity를 사용하여 모델 메서드에 인수를 전달합니다.
나는 항목을 제시 할 때 CURRENT_USER 항목을 좋아 처리 여부를 확인하고 싶습니다, 그래서 모델 user_likes?
방법 내장 :
class Item
include Mongoid::Document
#some attributes here...
has_and_belongs_to_many :likers
def user_likes?(user)
likers.include?(user)
end
end
을하지만 난 grape-에 CURRENT_USER를 전송하는 방법을 모른다 엔티티 모델 : 포도 API의
module FancyApp
module Entities
class Item < Grape::Entity
expose :name #easy
expose :user_likes # <= How can I send an argument to this guy ?
end
end
end
:
get :id do
item = Item.find(.....)
present item, with: FancyApp::Entities::Item # I should probably send current_user here, but how ?
end
I current_user가이 마지막 코드 조각에서 전송되어야한다고 생각하지만, 어떻게해야 하는지를 알 수는 없습니다 : (
어떤 생각이 들었습니까? 감사합니다.
그것은 당신이 그것을 할 수 있습니다, 그것은하지만 가장 좋은 방법 의미하지 않는다. 내가 제안한 방식대로 클리너. – oliverbarnes
@ 올리버 반즈 (Oleiver Barnes) 나는 포도 주스를 처음 보았습니다. 어떻게 제안이 더 깨끗해 졌는지 자세히 설명 할 수 있습니까? 나에게 당신의 제안으로, 데이터베이스에있는 실제 레코드를 엔티티로 전달하는 것으로 변경하는 것 같습니다. 이것은 나에게 깨끗해 보이지 않습니다. – mfunaro
나는 실제로 어떤 경우에도'update_attributes'를 사용하지 않기를 권합니다. 그것은 실제로 데이터베이스 변경을 수행하고 절대 원하지 않습니다. 두 사용자가 동시에 라우트를 요청하면 적어도 하나의 사용자에 대해'current_user' 값을 혼합 할 가능성이 큽니다. – aherve