###エラー内容
現在rails_adminを使い管理しています。
サイト上の「投稿(shop/new)」ボタンを押して投稿するとエラーなく成功します。
しかし、rails_adminでshop一覧を見るとなぜかエラーが発生して、一覧や投稿ができません。
###リンクで投稿する場合
shopモデルとareaモデルがありアソシエーションされています。
(active_hashを使ってます)
# shop.rb extend ActiveHash::Associations::ActiveRecordExtensions belongs_to_active_hash :area
# area.rb include ActiveHash::Associations has_many :shops
そしてフォームは以下のようになってます。
<%= form_for(@shop, html: {multipart: true}) do |f| %> <div class="field"> <%= f.label :area %> <%= f.collection_select :area_id, Area.all, "id", "name", {prompt: "エリアを選択"}, {class: "form-control"} %> </div>
普通に投稿リンクやアドレスバーに直接「localhost:3000/shop/new」と書き込めば、area_idを選択できエラーなく投稿できます。
###rails_adminの場合
rails_adminにログインして「一覧(admin/shop)」を見ると、以下のようなエラーメッセージが出ます。
NoMethodError at /shop undefined method `properties' for nil:NilClass
register_instance_option :searchable do @searchable ||= associated_model_config.abstract_model.properties.collect(&:name).include?(associated_model_config.object_label_method) ? [associated_model_config.object_label_method, {abstract_model.model => method_name}] : {abstract_model.model => method_name} end
そして、アドレスバーに「admin/shop/new」と打つと投稿フォームに移動はできるのですが、なぜかarea_id(外部キー)を選べるフォーム(<%= f.collection_select :area_id, Area.all, "id", "name", {prompt: "エリアを選択"}, {class: "form-control"} %>)が現れません。
(普通に投稿(shop/new)だとarea_idを選べるフォームがあって、きちんと選択できます)
なぜrails_adminだと一覧や投稿ができないのでしょうか?
わかる方よろしくお願いします!
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。