私は現在ルビーを学んでいますが、組み込みのルビーを手に取ることはできません。Emebedded Ruby:Short Ifステートメント
私は基本的に(そしてこのpost)この
ようにそれを書くことなどできるはずです私の理解によると、文の場合、私の埋め込まれたルビー<% entity.attributes.each do |key, value| %>
<%= if key == "name"
link_to @entity, edit_entity_path(entity)
else
value
end %>
<%= end %>
にこの短いバージョンを作成しようとしています
<% entity.attributes.each do |key, value| %>
<%= key == "name" ? link_to @entity, edit_entity_path(entity) : value %>
<%= end %>
これは機能していないようです。私は間違って何をしていますか?
Ralilsエラーメッセージ: 構文エラー、予期しないtIVAR、 keyword_doかを期待して '{' または '(' ... EY == "名前")? ...あなたの助けを事前に
Thxを
Rubyで三項演算子を使用する場合、 'if:else'はそれぞれ括弧で囲まれている必要がありますその内部に 'function(args)'形式を使用する必要があり、空白ではない( '+ -/*'などは例外です)。たとえば、「本当ですか?本当ですか? TrueClass:false'はエラーを発生させますが、 'true? true.is_a?(TrueClass):false'はしません。三項演算子で返ってきたら 'assertionのようにすることができますか? (何かを返す):(return something_else) ' –