gpt4 book ai didi

ruby-on-rails - Rails 4 中如何使用 attr_accessible?

转载 作者:行者123 更新时间:2023-12-03 04:05:20 26 4
gpt4 key购买 nike

attr_accessible 似乎不再在我的模型中工作。

Rails 4 中允许批量分配的方法是什么?

最佳答案

Rails 4 现在使用 strong parameters .

保护属性现在是在 Controller 中完成的。这是一个例子:

class PeopleController < ApplicationController
def create
Person.create(person_params)
end

private

def person_params
params.require(:person).permit(:name, :age)
end
end

不再需要在模型中设置attr_accessible

处理accepts_nested_attributes_for

为了将 accepts_nested_attribute_for 与强参数一起使用,您需要指定哪些嵌套属性应列入白名单。

class Person
has_many :pets
accepts_nested_attributes_for :pets
end

class PeopleController < ApplicationController
def create
Person.create(person_params)
end

# ...

private

def person_params
params.require(:person).permit(:name, :age, pets_attributes: [:name, :category])
end
end

关键字是不言自明的,但为了以防万一,您可以找到有关强参数的更多信息 in the Rails Action Controller guide .

注意:如果您仍想使用attr_accessible,则需要添加 protected_attributes到您的Gemfile。否则,您将面临 RuntimeError

关于ruby-on-rails - Rails 4 中如何使用 attr_accessible?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17371334/

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