【问题标题】:rails has_one association preventing adding new child object if existsrails has_one 关联阻止添加新的子对象(如果存在)
【发布时间】:2016-07-01 12:08:06
【问题描述】:

在我的 Rails 应用程序中,我有 user has_one :profileprofile belongs_to :user 关联。如果用户已有个人资料并转到user/:user_id/profile/new 页面并提交新个人资料,则旧个人资料会得到更新。

我可以通过 pundit(授权 gem)来防止这种情况,并且只授权没有配置文件的用户能够触发新操作并创建操作。我想知道在这种情况下,rails 约定是什么。我想应该有一个更简单的解决方案。

【问题讨论】:

    标签: ruby-on-rails activerecord associations has-one


    【解决方案1】:

    这是 Rails 约定。当您在创建和更新时打开相同的表单时,如果 profile.idnil 表单操作将转到 Profile#create 并且如果 profile.id 不是 nil,它将使用 @987654327 转到 Profile#update 操作@ 在参数中。

    【讨论】:

    • 谢谢 Nermin,那我就用权威人士了。
    猜你喜欢
    • 1970-01-01
    • 2013-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多