1

次のコードがあります。

<div class="category_name">
     <%= current_user %>
     <%= review.user.front_name %>
      <% if current_user.name = review.user.front_name %>
      <%= link_to "You", user_path(review.user) %> / <%= review.categories_list %>
      <% else %>
      <%= link_to review.user.front_name, user_path(review.user) %> / <%= review.categories_list %>
      <% end %>
    </div>

次のようなものをレンダリングします。

トム・マーフィー ビル・スミス あなた / 映画

なぜこうなった?

<% if current_user.name = review.user.front_name %>

言い換えれば、Tom Murphy = Bill Smith の場合...そうではありません...「else」の後の行に行くべきではありませんか? それが私がしたいことです。

4

4 に答える 4

5

<% if current_user.name = review.user.front_name %>と置き換えます

<% if current_user.name == review.user.front_name %>

あなたは入れ=ます、あなたは入れなければなりません==

于 2013-06-18T10:23:09.737 に答える
2

変更するだけです:<% if current_user.name = review.user.front_name %>

<% if current_user.name == review.user.front_name %>

( == double equal) 等しい値のテスト..

于 2013-06-18T10:29:10.417 に答える
2

Ruby で等価性をチェックするには、二重の等号 ( ==) を使用する必要があります。

また - 現在、名前を比較しています。オブジェクト (ユーザー) を比較して、間違いやさらに悪いこと (セキュリティ違反) を回避する必要があります。

<% if current_user == review.user %>
于 2013-06-18T10:24:35.123 に答える
1

条件文を作りたいとき。あなたの声明を比較する必要があります。例えば:

if number == 10
   print "Variable is 10"
elsif number == "20"
   print "Variable is 20"
else
   print "Variable is something else"
end

あなたの場合、行を変更してください:

<% if current_user.name = review.user.front_name %>

ここにコードを入力してください

<% if current_user.name == review.user.front_name %>
于 2013-06-18T10:41:48.053 に答える