gal*_*gal 4 ruby ruby-on-rails ruby-on-rails-3
控制器:
user = User.find(params[:id])
respond_with({:posts => @posts.as_json})
Run Code Online (Sandbox Code Playgroud)
模型:
def as_json(options = {})
{
name: self.name,
...
}
end
Run Code Online (Sandbox Code Playgroud)
我想将参数传递params[:id]给as_json函数以改变JSON显示中的内容.
我该怎么做?
好吧,as_json确实采用了一个选项哈希,所以我想你可以使用它来调用它
respond_with({:posts => @posts.as_json(:params => params)})
Run Code Online (Sandbox Code Playgroud)
然后,您可以在以下定义中引用params as_json:
def as_json(options = {})
params = options[:params] || {}
{
name: self.name,
params_id: params[:id]
...
}
end
Run Code Online (Sandbox Code Playgroud)