私はRubyが初めてで、いくつかの例を理解していません
誰かこの表現を説明できますか
redirect_to @message ? read_account_inbox_message_url(@message) : account_inbox_url
私はRubyが初めてで、いくつかの例を理解していません
誰かこの表現を説明できますか
redirect_to @message ? read_account_inbox_message_url(@message) : account_inbox_url
@message
戻る場合はURL にtrue
リダイレクトし、それ以外の場合はにリダイレクトしますread_account_inbox_message_url(@message)
account_inbox_url
三項演算子といいます。そして、それはの省略形です
redirect_to if @message
read_account_inbox_message_url(@message)
else
account_inbox_url
end
if ステートメントとして、条件の真偽をチェックし、最初の部分または 2 番目の部分の評価を返します。
同じです:
if @message
read_account_inbox_message_url(@message)
else
account_inbox_url
end
三項演算子といいます。それは次のように言うための略語です:
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
これは、メソッドへの引数として使用される三項式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
です。
このコードは次と同等です。
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
、結果は渡されます。