1
我有一個簡單的模型:問題的HABTM和連接表中的Rails
class User < ActiveRecord::Base
has_and_belongs_to_many :roles
end
class Role < ActiveRecord::Base
has_and_belongs_to_many :users
end
我創建了一個簡單的連接表:
class CreateUsersRoles < ActiveRecord::Migration
def self.up
create_table :users_roles, :id => false do |t|
t.integer :user_id
t.integer :role_id
t.timestamps
end
end
def self.down
drop_table :users_roles
end
end
遷移後,shema.rb是以下幾點:
create_table "roles", :force => true do |t|
t.string "name"
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "users", :force => true do |t|
t.string "login"
t.string "password"
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "users_roles", :id => false, :force => true do |t|
t.integer "user_id"
t.integer "role_id"
t.datetime "created_at"
t.datetime "updated_at"
end
這裏的條目以相同的順序呈現,如「schema.rb」
我安排在燈具下列方式:
# roles.yml
user:
name: user
admin:
name: admin
moderator:
name: moderator
# users.yml
User1:
login: User1
password: User1
roles: user
User2:
login: User2
password: User2
roles: admin, moderator
User3:
login: User3
password: User3
roles: moderator
,並得到了一個問題:在 「耙分貝:燈具:負荷」 軌道抱怨連接表的名稱:
的SQLite3 ::的SQLException :沒有這樣的表:roles_users:DELETE FROM 「roles_users」 WHERE 1 = 1
的問題是 - 爲什麼它預計 「roles_users」,而該表是 「users_roles」?
非常感謝!有用 ! – AntonAL 2010-07-20 08:55:28