2011-12-23 18 views
0

私は2つの単純なリンクレール3は、

<h3><%= link_to "Brand Awards", new_recommendation_path(:category => "Brand") %></h3> 
    <h3><%= link_to "Business Awards", new_recommendation_path(:category => "Business") %></h3> 

これらのリンクの両方を持って同じビューに移動しますが、それらは明らかにカテゴリへの2つの別々の値を渡します。

これらを使用して、new_recommendationビューでif文を実行するにはどうすればよいですか。私は基本的に行う必要がある

: カテゴリ=「ブランド」が

XYZ ABC、ELSIFカテゴリ=「ビジネス」を行う操作を行う場合には、私も正しい軌道に乗っていますか?

答えて

2

(他の回答に記載されている)ルートは必要ありません(素敵なタッチですが)。あなたがルートを設定しない場合、それはちょうどクエリ文字列のパラメタとして表示されます:/recommendation?category=Brand

どちらかの方法であなたは単にパラメータを参照することができます。

<% case params[:category] 
    when 'Brand' %> 
    show brand stuff 
<% when 'Business' %> 
    show business stuff 
<% else %> 
    show default something else 
<% end %> 
2

私は、あなたが次に、あなたのコントローラでは、あなたがparams[:category]でカテゴリを見つけることができ、およびビューにそれを渡すように

match "recommendation/:category", controller: 'recommendation', action: 'new', category: :category 

として、routes.rbをしてルートを設定する必要があると思います。