ruby-on-rails - 将参数从 as_json 传递到模型

标签 ruby-on-rails ruby ruby-on-rails-3

Controller :

user = User.find(params[:id])
respond_with({:posts => @posts.as_json})

型号:

def as_json(options = {})
  {
    name: self.name,
    ...
  }
end

我想将 params[:id] 之类的参数传递给 as_json 函数以更改 JSON 显示中的内容。

我该怎么做?

最佳答案

好吧,as_json 确实有一个选项散列,所以我想你可以用它来调用它

respond_with({:posts => @posts.as_json(:params => params)})

然后您就可以在 as_json 的定义中引用参数:

def as_json(options = {})
  params = options[:params] || {}
  {
    name: self.name,
    params_id: params[:id]
    ...
  }
end

关于ruby-on-rails - 将参数从 as_json 传递到模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11493333/

相关文章:

ruby-on-rails - 回形针提供了错误的 URL。怎么修?

javascript - jquery 多重选择 x Rails 编辑操作

ruby-on-rails - 如何使 ID 成为 Rails 中的随机 8 位字母数字?

ruby - 需要帮助在 Mac OSX 10.7 上安装 Ruby 1.9.2

ruby-on-rails - 将 block 传递给 delayed_job

ruby-on-rails - 我如何在表单中包含 Rails 连接表字段?

mysql - 如何使用 ruby​​ 将哈希插入 mysql

ruby-on-rails - 如何在80端口上运行rails s -p80?

ruby - 一种在ruby中修改链接url的方法

ruby - Devise & CanCan——CanCan 2.0 API 的问题