0
どのようにこのエラーメッセージを解決できますか?新しいオブジェクトを作成しようとしていますが、以下のエラーメッセージが表示されます。ActiveAdmin HMABTMエラーメッセージ
エラーメッセージ:unknown attribute 'w_artisan_id' for ArtisanColour.
私はActiveAdminフォームからcollection_colour_ids
を削除した場合には、もはやエラーがあるので、私はそれが私がコールartisan_colour
作成した参加モデルとは何かを持っているかなりポジティブです
コードは以下のとおりです。
ActiveAdmin.register WArtisan do
# See permitted parameters documentation:
# https://github.com/activeadmin/activeadmin/blob/master/docs/2-resource-customization.md#setting-up-strong-parameters
#
permit_params :name, collection_colour_ids: []
#
form do |f|
f.semantic_errors *f.object.errors.keys
f.input :name
f.input :collection_colour_ids, multiple: true, required: true, :label => 'Colours', :as => :check_boxes, :collection => CollectionColour.all.collect {|u| [u.colour_name, u.id]}
f.actions
end
end
モデル:
class ArtisanColour < ApplicationRecord
belongs_to :collection_colour
belongs_to :w_artisan
accepts_nested_attributes_for :collection_colour
accepts_nested_attributes_for :w_artisan
end
class CollectionColour < ApplicationRecord
has_many :artisan_colours
has_many :w_artisans, through: :artisan_colours
accepts_nested_attributes_for :w_artisans
accepts_nested_attributes_for :artisan_colours
end
class WArtisan < ApplicationRecord
has_many :artisan_colours
has_many :collection_colours, through: :artisan_colours
accepts_nested_attributes_for :collection_colours
accepts_nested_attributes_for :artisan_colours
def self.listing
order(created_at: :desc)
end
end
スキーマ:
create_table "artisan_colours", force: :cascade do |t|
t.integer "collection_colours_id"
t.integer "w_artisans_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["collection_colours_id"], name: "index_artisan_colours_on_collection_colours_id"
t.index ["w_artisans_id"], name: "index_artisan_colours_on_w_artisans_id"
end