2011-12-08 57 views
0

我目前正在嘗試使用Ruby on Rails構建模型。截至目前,我正試圖根據他們的'標籤'(這是我的帖子模型中的一列)分開帖子 - 例如,我希望所有'體育'文章都可以在單獨的頁面上彈出。標籤通過文本字段分配給帖子。但是,我似乎無法得出結論,我該如何完成這項任務。在Ruby on Rails中按帖子分類

下面是一些代碼,我我的職位,模型中嘗試了:

def self.getTag 
    find(:all, :include => params[:tags], :order => 'created_at DESC') 
end 

但是,它好像params[:tags]是無效參數。

回答

0

params在模型中不可用(且不應使用)。只是傳遞參數給模型方法:

# controller code 
Model.getTag(params[:tags]) 

# model code 
def self.getTag(tags) 
    find(:all, :include => tags, :order => 'created_at DESC') 
end 
+0

中,我想要的方式實施代碼,將體育文章放在單獨的鏈接上(在導航欄中),題爲體育。因此,如何獲得它,以便當我點擊運動時,所有體育文章都顯示出來了。我猜我只是對參數如何通過而感到困惑。 – TopChef

+0

find(:all ....)是3.0中已棄用,對不對? –

+0

對不起,但我不明白你的問題。 GET和POST參數可以在控制器中訪問,您可以將它們作爲參數傳遞給模型方法 - 就像我所展示的一樣。如果你仍然困惑,我會建議閱讀http://guides.rubyonrails.org/action_controller_overview.html – deviousdodo

0

不知道這是你在找什麼,但它似乎是一個非常簡單的一個:-)

#controller (e.g. /articles/sports) 
def sports 
    @a = Articles.sport 
end 

#model 
def sport 
    where(:section => :sport) 
end 

#view 
<td> 
    <%= @a.title > 
    <%= @a.body > 
</td>