我正在对象上使用 to_json
方法,并尝试使 :methods
参数起作用。我的模型 (Drop) 上有一个名为 is_favorited_by_user?
的方法。此方法采用 current_user
参数,然后检查用户是否喜欢该 drop。如何通过 to_json
方法传递此参数。
render :json => @drops.to_json(:methods => :is_favorited_by_user?(current_user))
最佳答案
您可以将 current_user
属性添加到模型中,并在执行 to_json
之前设置它
attr_accessor :current_user
def is_favorited_by_user?(user=nil)
user ||= current_user
# rest of your code
end
@drops.current_user = current_user
render :json => @drops.to_json(:methods => :is_favorited_by_user?)
关于ruby-on-rails - ruby to_json :methods arguments,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2745607/