2011-12-08 14 views
0

私は現在、Ruby on Railsを使ってモデルを構築しようとしています。現時点では、自分の「タグ」(投稿モデルの列)に基づいて投稿を分けようとしています。たとえば、すべての「スポーツ」記事を別のページにポップアップさせたいと思います。タグは、テキストフィールドを介して投稿に割り当てられます。しかし、私はこの作業をどのように完了できるかについて結論に至ることはできません。ここでRuby on Railsの投稿カテゴリで区切る

は、私は私の記事のモデルの中で試してみましたいくつかのコードです:params[:tags]が無効な引数であるかのように

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

しかし、それはそうです。

答えて

0

paramsモデルでは使用できません(使用しないでください)。あなたが探しているものかどう

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

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

方法はとても簡単1 :-)のように思える:ちょうどモデルメソッドにパラメータを渡しますこのコードを実装するのは、スポーツ記事がスポーツと呼ばれる別のリンク(ナビゲーションバー内)にあることです。したがって、どのようにしてスポーツをクリックすると、すべてのスポーツ記事が表示されるのですか。私はちょうどパラメータがどのように渡されるかについてちょっと混乱していると思います。 – TopChef

+0

find(:all ....)is 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>