HABTM错误 - Rails 3

时间:2011-07-05 14:56:58

标签: ruby-on-rails ruby-on-rails-3

无法找到表'groups_users'

<% for group in @groups %>
  <%= check_box_tag "user[group_ids][]", group.id, @user.groups.include?(group) %>
  <%= group.description %>
<% end %>

1 个答案:

答案 0 :(得分:4)

使用habtm关系时,需要创建连接表。这是一个简单的表,它通过外键引用每个表来存储关系。

rails g migration create_groups_users_table

class CreateGroupUsersTable < ActiveRecord::Migration
  def change
    create_table :groups_users, :id => false do |t|
      t.integer :group_id
      t.integer :user_id
    end
  end
end

rake db:migrate

请注意,上面的内容适用于rails 3.1,因为它使用了change方法。使用3号或更低的导轨时,分别向下和向上变换。

运行迁移后,它应该可以正常工作。