我得到了关于强参数的错误消息我认为rails 4不再使用属性了。my toy.rb的代码是:

class Toy < ActiveRecord::Base
  attr_accessible :name, :price, :vendor
  validates :name, :presence => true
  validates :price, :presence => true
  validates :price, :numericality => true
  validates :vendor, :presence => true
end

如何将其更改为强参数?
编辑:我用了一个不同的rb,我把它改成了员工,这就是我所拥有的:
  class Employee < ActiveRecord::Base
params.require(:employee).permit(:first, :last, :salary, :salary, :ssn)
validates  :first, :presence => true
validates  :last, :presence => true
validates  :salary, :presence => true
validates  :salary, :numericality => true
validates  :ssn, :presence => true

结束
它仍然告诉我“为定义的局部变量或方法'params'”

最佳答案

你需要的代码是

params.require(:toy).permit(:name, :price, :vendor)

你要把这个放在你的控制器里。通常,您会创建一个私有方法:
def create
  Toy.create(toy_params)
end

private
def toy_params
  params.require(:toy).permit(:name, :price, :vendor)
end

有关更多信息,请参见http://guides.rubyonrails.org/getting_started.html#saving-data-in-the-controller
编辑
我想我原来的回答可能误导了你。代码进入控制器,而不是模型。

关于ruby-on-rails - Ruby中的强参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21590718/

10-09 19:00