0

私はRubyが初めてで、いくつかの例を理解していません

誰かこの表現を説明できますか

redirect_to @message ? read_account_inbox_message_url(@message) : account_inbox_url
4

7 に答える 7

2

@message戻る場合はURL にtrueリダイレクトし、それ以外の場合はにリダイレクトしますread_account_inbox_message_url(@message)account_inbox_url

ウィキ

于 2013-09-18T08:37:31.330 に答える
2

三項演算子といいます。そして、それはの省略形です

redirect_to if @message
  read_account_inbox_message_url(@message)
else
  account_inbox_url
end

if ステートメントとして、条件の真偽をチェックし、最初の部分または 2 番目の部分の評価を返します。

于 2013-09-18T08:43:14.260 に答える
1

同じです:

if @message
  read_account_inbox_message_url(@message)
else
  account_inbox_url
end
于 2013-09-18T08:38:45.447 に答える
1

三項演算子といいます。それは次のように言うための略語です:

if redirect_to @message is true 
  then
read_account_inbox_message_url(@message)
  otherwise 
account_inbox_url

構文は次のとおりです。

test ? if_test_result_is_true_then_do_this : if_test_result_is_false_then_do_this
于 2013-09-18T08:38:28.177 に答える
0

これは、メソッドへの引数として使用される三項式redirect_toです。

つまり、次のことを意味します。redirect to read_account_inbox_message_url(@message) if @message is true, or, redirect_to account_inbox_url

三項式の形式は次のとおりexpression ? evaluate_if_true : evaluate_if_falseです。

于 2013-09-18T08:40:08.183 に答える
0

このコードは次と同等です。

redirect_to (@message ? read_account_inbox_message_url(@message) : account_inbox_url)

@message「真」(Ruby では、nilとを除くすべてfalseが真) の場合、 の結果がread_account_inbox_message_url(@message)引数としてredirect_toメソッドに渡されます。それ以外の場合account_inbox_url、結果は渡されます。

于 2013-09-18T08:40:15.427 に答える