Ruby on rails 4 Rails 4在创建多对多关联时失败
这是我的模式:Ruby on rails 4 Rails 4在创建多对多关联时失败,ruby-on-rails-4,has-many-through,Ruby On Rails 4,Has Many Through,这是我的模式: create_table :policies do |t| t.string :name t.timestamps end create_table :permissions do |t| t.string :name t.string :method t.string :controller t.timestamps end create_join_table :policies, :permissions do |t| t.index :p
create_table :policies do |t|
t.string :name
t.timestamps
end
create_table :permissions do |t|
t.string :name
t.string :method
t.string :controller
t.timestamps
end
create_join_table :policies, :permissions do |t|
t.index :policy_id
t.index :permission_id
end
下面是我用来创建记录及其关联的代码:
policy = Policy.create! name: "View All"
permission = Permission.create!({
name: "View Events",
method: "index",
controller: "Events"
})
policy.permissions << permission
通过迁移创建的表名是policies\u permissions
我想知道这是否是类名推断不正确的问题在迁移中交换权限和策略的位置,以便创建权限策略而不是策略权限。Rails按字母顺序推断联接表的类名
有关联接表命名约定的详细信息,请参阅。谢谢!有趣的是,我在模型中正确地编写了关联名称,但在迁移中却没有
ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR: relation "permission_policies" does not exist