【问题标题】:Rails 4 cant mass assign attr_accessor methodRails 4 无法批量分配 attr_accessor 方法
【发布时间】:2015-03-23 21:26:02
【问题描述】:

我有以下型号:

class Something < ActiveRecord::Base
   attr_accessor :properties
   serialize :properties
end

当我打电话时:

thing = Something.new({name:"foo",properties:{key_1:"val"}})

事物已填充名称但未填充属性。我可以像这样手动分配属性:

thing.properties = {key_1:"val"}

效果很好,但我无法通过批量分配使其工作。

我错过了什么吗?

【问题讨论】:

  • 查看日志文件;很可能有消息unpermitted parameters: properties
  • 你试过Something.new({name:"foo",properties_attributes:{key_1:"val"}})吗?

标签: ruby-on-rails ruby-on-rails-4 mass-assignment


【解决方案1】:

Rails 4 在控制器中使用strong parameters。因此,虽然在模型中设置了 attrs,但您仍然需要在控制器中使用 permit 参数。

这是要在控制器中查找/添加的行:

def person_params
  params.require(:thing).permit(:parm1, :param2)
end

【讨论】:

  • 他没有使用params,所以没用。
猜你喜欢
  • 2015-09-29
  • 1970-01-01
  • 1970-01-01
  • 2015-03-01
  • 1970-01-01
  • 2014-09-06
  • 2013-06-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多