2013-05-17 46 views
2

我正在嘗試創建某種活動源,並且無法獲取需要的值。Ruby on Rails:獲取相關值來顯示

我有一個控制器,這個動作

def show 
    @user = User.find(params[:id]) 
    @ideas = Idea.find(@user) 
    @lists = List.find(@user) 
    @li_array = (@lists + @ideas).sort{|a,b| -(a.created_at <=> b.created_at)}  
    end 

我新的軌道,我試圖拼湊值的數組從兩個思路和列表的用戶。但我發現我不能做我現在正在做的事情,因爲它只會傳遞當前用戶的id來匹配Idea/List的id,但我需要做的是找到用戶的id列並通過基於搜索在@user上。

我需要從用戶那裏獲得所有的值,最好的方法是什麼?

模式

user.rb

has_many :lists 
    has_many :ideas, :through => :lists 

list.rb

has_many :ideas 
    belongs_to :user 

idea.rb

belongs_to :list 
    belongs_to :user 

感謝

回答

2

你可以簡單地做:

@user = User.find(params[:id]) 
@ideas = @user.ideas 
@lists = @user.lists 
+0

真棒!簡單簡單真棒!謝謝:) – hellomello

+0

不客氣。這是非常基本的東西,所以你可能想看看[Rails Guides](http://guides.rubyonrails.org/)以瞭解更多關於[associations]的信息(http://guides.rubyonrails.org/ association_basics.html)在Rails中工作。 – Mischa

+0

感謝您的提示! – hellomello