【问题标题】:How to use rails undefined method `attr_accessible' in version 4 +? [duplicate]如何在版本 4 + 中使用 rails 未定义的方法 `attr_accessible'? [复制]
【发布时间】:2015-07-20 02:46:45
【问题描述】:

我是新来的。以下是我正在尝试的内容

class Category < ActiveRecord::Base
    attr_accessible :name
    has_many :post
end

但我不确定如何在我上面的 scnerio 中的 rails 4+ 中使用 attr_accessible。 我按照旧的做。请建议

【问题讨论】:

    标签: ruby-on-rails ruby


    【解决方案1】:

    在 Rails 4 + 中,不支持批量赋值。

    你必须传入控制器并使用它,

    def create
      Category.create(category_params)
    end
    
    private
    
    def category_params
      params.require(:category).permit(:name)
    end
    

    然后在您的控制器操作中调用 category_params 方法。

    【讨论】:

      【解决方案2】:

      对于 rails 4 及以上版本,您不需要使用它,只需允许您的属性在控制器中

       def category_params
         params.require(:category).permit(:name)
       end
      

      【讨论】:

        【解决方案3】:

        在 rails 4 attr_accessible 已弃用,您应该使用强参数

        Rails 4, Strong Parameters, and Deprecation of the attr_accessible Macro

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-06-26
          • 2014-06-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多