嘿傢伙 我是新來的rails,有很多令我大開眼界的東西,我寫了一些代碼,看起來沒有效率,我粘貼我的代碼如下,你能幫我找到寫這個更好的方法嗎?如何在rails中寫多對多的基本查詢
視頻表:
class CreateVideos < ActiveRecord::Migration
def self.up
create_table :videos do |t|
t.string :title
t.string :desc
t.string :tudou
t.string :otherurl
t.timestamps
end
end
def self.down
drop_table :videos
end
end
鼓手錶:
class CreateDrummers < ActiveRecord::Migration
def self.up
create_table :drummers do |t|
t.string :first_name
t.string :middle_name
t.string :last_name
t.string :nick_name
t.boolean :gender
t.timestamps
end
end
def self.down
drop_table :drummers
end
end
,我將它們設置爲簡單許多-to-many關聯
class CreateDrummersVideosJoin < ActiveRecord::Migration
def self.up
create_table :drummers_videos, :id => false do |t|
t.integer "drummer_id"
t.integer "video_id"
end
end
def self.down
drop_table :drummers_videos
end
end
我想找到所有的標題鼓手名字是「Jojo」,姓氏是「Mayer」的視頻
我的代碼:
title = Drummer.where(:first_name => "Jojo", :last_name => "Mayer").first.videos.each {|t| t.title}
此返回所有列的數據,而不是隻有標題我想
而且由於這裏只有一個名爲「喬喬邁耶」一個結果返回,但返回值是activeRelation ,我無法撥打視頻,所以我的工作就是使用:首先獲取視頻實例以調用視頻。我知道這絕對不是這樣做的
有什麼建議嗎?
這也是一個多對多的關聯嗎? – mko 2010-12-07 02:02:24
嘿旅行,據我所知,只有兩種方式來做多對多的關係,你的解決方案似乎對我來說是新的,我在哪裏可以找到關於所有這個協會的參考,謝謝 – mko 2010-12-08 04:28:03