【问题标题】:attr_protected Rails 4attr_protected Rails 4
【发布时间】:2014-04-27 02:16:15
【问题描述】:

您好,我尝试在 Rails 4 上使用 attr_protected,但我不能。 据说attr_protected 是从 Rails 中提取到一个 gem 中的。请为 params(strong_parameters) 使用新的推荐保护模型或将 protected_attributes 添加到您的 Gemfile 以使用旧的。

我能知道什么?

attr_protected :project_id

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-4 attr-protected


    【解决方案1】:

    您确实应该考虑使用强参数。否则,您稍后会在批量分配规则方面遇到麻烦。

    但是,如果您坚持,请将其添加到您的 Gemfile

    gem "protected_attributes", "~> 1.0.7"
    

    然后运行 ​​Bundler:

    bundle install
    

    【讨论】:

      【解决方案2】:

      开始使用strong parameters(推荐)或按照建议移回protected attributes

      【讨论】:

      • ActiveModel::ForbiddenAttributesError in RolesController#create [at]role = project.roles.new(params[:role]) 我仍然出错
      • @MuratKAYA 你应该花一些时间来研究这个主题。基本上你需要像这样分配参数:@role = project.roles.build(role_params) 并在具有允许列表的控制器中定义私有方法role_paramsparams.require(:role).permit(:role_attribute_1, :role_attribute_2)。看看这里的例子:guides.rubyonrails.org/….
      猜你喜欢
      • 2011-04-18
      • 2020-05-30
      • 2011-02-08
      • 2013-07-25
      • 2014-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多