【问题标题】:Model Accepts Nesting Attributes without declaring that it accepts them模型接受嵌套属性而不声明它接受它们
【发布时间】:2013-08-14 08:27:02
【问题描述】:

每个人。因此,我正在开发一个用于练习的基本 Rails 4 应用程序,并且我有一个 FriendCircle 模型和一个 FriendCircleMembership 模型。 (FriendCircleMembership 的对应表基本上是一个连接表)。

在控制台中,我可以在传入 :friend_circle_memberships_attributes 的同时创建一个新的 FriendCircle 对象。这成功地将一个新的 FriendCircle 行插入到我的表中,并将正确的行插入到 FriendCircleMembership 表中。

奇怪的是,即使我注释掉 FriendCircle accepts_nested_attributes for :friend_circle_memberships,它仍然有效。这是因为我将其作为控制器中的权限列入白名单吗?

另一个问题是,即使我可以通过 rails 控制台成功创建嵌套对象,但当我尝试通过我的 html 表单创建嵌套对象时,它却说我的friend_circle_memberships_attributes 是一个不允许的参数。不知道为什么会这样。我检查了传入的参数,它们看起来很好。

任何帮助都是甜蜜的。谢谢。

【问题讨论】:

  • 更换模型后是否重启了控制台?
  • 我做到了。但感谢您的建议! ;D

标签: ruby-on-rails ruby forms activerecord


【解决方案1】:

我确定了错误是什么:我的一个嵌套属性控制器正在验证它嵌套在其下的控制器的 ID 是否存在。

我假设验证发生在创建 id 之前,这是有道理的,但我不是 100%。所以我只是拿出了验证器,一切正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-30
    • 1970-01-01
    • 2021-04-16
    • 2017-10-14
    相关资源
    最近更新 更多