嗨,所有Rails3中的has_many:通過與foreign_key在一套行不通:CLASS_NAME
我需要找朋友活動:
SELECT `activities`.* FROM `activities`
INNER JOIN `friendships`
ON `activities`.user_id = `friendships`.friend_id
WHERE ((`friendships`.user_id = 1))
我這個代碼添加到用戶模型:
has_many :friends_activities,
:class_name => 'Activity',
:through => :friendships,
:foreign_key => :user_id,
:source => :friend
但是Rails回報是:
SELECT `activities`.* FROM `activities`
INNER JOIN `friendships`
ON `activities`.id = `friendships`.friend_id
WHERE ((`friendships`.user_id = 1))
我需要:
`activities`.user_id = `friendships`.friend_id
但現在:
`activities`.id = `friendships`.friend_id
PS:我的表:
create_table "activities", :force => true do |t|
t.integer "user_id"
t.integer "target_id"
t.string "target_type"
t.string "verb"
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "friendships", :force => true do |t|
t.integer "user_id", :null => false
t.integer "friend_id", :null => false
t.string "state"
t.datetime "created_at"
t.datetime "updated_at"
end
什麼版本的Rails3是RC或是beta版本 – 2010-08-19 03:32:31
發佈您的搜索查詢 – Bohdan 2010-08-19 09:11:05