gpt4 book ai didi

ruby-on-rails - Ruby 中的强参数

转载 作者:太空宇宙 更新时间:2023-11-03 16:02:28 26 4
gpt4 key购买 nike

我收到有关强参数的错误消息。我认为只是 Rails 4 不再使用属性了。我的 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

结束

它仍然告诉我“ndefined local variable or method `params' for #”

最佳答案

你需要的代码是

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

您将把它放在您的 Controller 中。通常,您创建一个私有(private)方法:

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获取更多信息。

编辑我想我可能用我原来的答案误导了你。代码进入 Controller ,而不是模型。

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

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com