"✓", "_method"=>"put", "authenticity_token"=>"mZ0yUwkdUhi8JVeXfPPzukYr8QfmJjC0UptG3-6ren">
gpt4 book ai didi

ruby-on-rails - 深层嵌套属性和 attr_accessible

转载 作者:行者123 更新时间:2023-12-04 04:54:28 24 4
gpt4 key购买 nike

使用参数:

{"utf8"=>"✓",
"_method"=>"put",
"authenticity_token"=>"mZ0yUwkdUhi8JVeXfPPzukYr8QfmJjC0UptG3rS08Fo=",
"commit"=>"Update Artist",
"artist"=>{"name"=>"Test",
"bio"=>"Some bio",
"city"=>"Chicago",
"state"=>"IL",
"visible"=>"1",
"published_at"=>"2013-06-05 20:23:48 UTC",
"confirmed_at"=>"2013-06-05 12:00:00 UTC",
"galleries_attributes"=>{"0"=>{"media_items_attributes"=>{"1370495729379"=>{"_destroy"=>"0",
"mediable_type"=>"Image",
"mediable_id"=>"45"}}}}},
"id"=>"test"}

我的艺术家模型的 attr_accesible 中有以下内容
attr_accessible :media_items_attributes, :galleries_attributes, :name, :bio, :permalink, :billboard_image_id, :featured_at, :city, :state, :country, :latitude, :longitude, :visible, :confirmed_at, :published_at, :deleted_at, :genre_ids, as: :admin
但我仍然得到一个异常(exception)
Can't mass-assign protected attributes: media_items_attributes
我的画廊模型中有以下内容
attr_accessible :media_items_attributes
我很困惑。

我需要在哪里允许 :media_items_attributes ?
class Gallery < ActiveRecord::Base
belongs_to :galeryable
attr_accessible :media_items_attributes
has_many :media_items, :as => :mediable


accepts_nested_attributes_for :media_items

end


class Artist < ActiveRecord::Base


# Basic attibutes, associations and validations
# ----------------------------------------------------------------------------------------------------

attr_accessible :media_items_attributes, :galleries_attributes, :name, :bio, :permalink, :billboard_image_id, :featured_at, :city, :state, :country, :latitude, :longitude, :visible, :confirmed_at, :published_at, :deleted_at, :genre_ids, as: :admin

# Validations
validates_presence_of :name, :bio, :city, :state
validate :publishable

# Geocode the artist based on city and state
geocoded_by :city_state
after_validation :geocode

has_many :genrefications, as: :genreable, dependent: :destroy
has_many :genres, through: :genrefications
has_many :galleries, as: :galleryable
accepts_nested_attributes_for :galleries

end

最佳答案

我的猜测:在画廊模型中。

从嵌套哈希的外观来看 - media_items_attributes 位于 gallery_attributes 部分下。所以你需要把它放在那个级别。

关于ruby-on-rails - 深层嵌套属性和 attr_accessible,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16954152/

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