【问题标题】:how to avoid Can't mass-assign protected attributes issue from controller如何避免无法从控制器批量分配受保护的属性问题
【发布时间】:2012-07-06 06:36:05
【问题描述】:

假设我有 2 个应用程序使用相同的数据库(应用程序),并且我有一个字段说:cool,所以我想在第一个应用程序中使用这个字段但是不在第二个。那么如何避免这个错误 Can't mass-assign protected attributes without using attr_accessible in database(app) ?

【问题讨论】:

    标签: ruby-on-rails mass-assignment


    【解决方案1】:

    我不确定我是否理解,但这是我通常做的:

    protected_attribute = params[:blog_post].delete(:protected_attribute)
    
    @blog_post = BlogPost.new(params[:blog_post])
    @blog_post.protected_attribute = protected_attribute
    if @blog_post.save
      # ...
    else
      # ...
    end
    

    这很丑,但绕过了质量分配保护。

    更新:您还必须从参数中删除受保护的属性。

    【讨论】:

    • 对,您还必须从参数中删除该属性。我已经更新了我的答案以反映这些变化。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-04
    • 1970-01-01
    • 2012-09-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多