2017-10-18 2 views
1

の場合、私はレールを初めて使用しています。どのように私は、コントローラであれば条件を置くことができ、擬似コードでは、私は次のことを達成したいと思います:コントローラーレールのその他の条件が

if @friend.status is pending 
    link_to redirect to path 
else 
    link_to redirect to another path 
end 

これは私の現在のコードです:

<% @value.each do |s| %> 
<h2>Friend Request</h2> 
<p><%= link_to s.message %></p> 
<% end %> 
+0

を行うには、おそらく最善ですそれがERBと呼ばれる理由です:組み込みRuBy –

答えて

0

そのあなたができる方法で保留されています各@value項目を呼び出しますか?その場合:

<% @value.each do |s| %> 
    <% if s.pending %> 
    <% do some stuff in ruby %> 
    <div>Bit of HTML if you want</div> 
    <% else %> 
    <% do some stuff in ruby %> 
    <div>Bit of HTML if you want</div> 
    <% end %> 
<% end %> 

サイドノート - @valueがコレクションである場合、それはそれは@values呼び出してから、あなたがルビーと同じ構造と構文を使用することができますERBに

@values.each do |value| 
+0

練習では、条件をHTMLに入れても大丈夫ですか?またはコントローラやヘルパーのような別の場所に配置する必要がありますか? – Pat

+0

人が私に同意しないかもしれませんが、私はいつもhtmlに条件文を入れました。他の唯一のオプションは、コントローラまたはヘルパーメソッドが条件付きでhtmlを返した後、そのメソッドをビューで呼び出すことですが、それはおそらくimhoの価値よりも面倒です – Mark

+0

情報ありがとう – Pat

関連する問題