我有这个课程。
用户:
class User < ActiveRecord::Base
attr_accessible :email, :name
has_many :berichten
end
类别:
class Category < ActiveRecord::Base
attr_accessible :name
has_many :berichten
end
Berichten:
class Berichten < ActiveRecord::Base
attr_accessible :bericht, :user
belongs_to :user
belongs_to :category
end
之后我创建了项目。
但是当我转到
http://localhost:3000/admin/berichtens
我看到此消息显示:
undefined method `user_id_contains' for #<MetaSearch::Searches::Berichten:0x007f72300bc8f0>
这可能是因为berichten是一个嵌套的路线,如下所示:
Tamara::Application.routes.draw do
ActiveAdmin.routes(self)
devise_for :admin_users, ActiveAdmin::Devise.config
resources :users
resources :category do
resources :berichten
end
end
如何解决这个问题?
鲁洛夫
编辑1:您可以在此处找到整个源代码树:https://github.com/roelof1967/tamara_site/tree/admin_section
编辑2:此处为开发日志:https://gist.github.com/3933601
编辑3:这里是控制器:https://gist.github.com/3937461
答案 0 :(得分:4)
由于我是1级用户所以我无法对上述问题发表评论。请分享您的相关控制器代码。问题出在控制器中。
答案 1 :(得分:1)
您的berichtens表没有user_id和category_id字段: https://github.com/roelof1967/tamara_site/blob/admin_section/db/schema.rb#L49-54
使用
创建迁移文件add_column :berichtens, :user_id, :integer
add_column :berichtens, :category_id, :integer