嵌入式 Ruby:短 If 语句
Emebedded Ruby: Short If Statement
我目前正在学习 ruby,但我无法让我的嵌入式 ruby 正常工作,我们将不胜感激。
我基本上是想在我的嵌入式 ruby
中编写这个 if 语句的简短版本
<% entity.attributes.each do |key, value| %>
<%= if key == "name"
link_to @entity, edit_entity_path(entity)
else
value
end %>
<%= end %>
按照我的理解(还有这个post)应该可以这样写
<% entity.attributes.each do |key, value| %>
<%= key == "name" ? link_to @entity, edit_entity_path(entity) : value %>
<%= end %>
这似乎不起作用。我做错了什么?
Ralils Error Message:
syntax error, unexpected tIVAR, expecting
keyword_do or '{' or '(' ...ey == "name") ? ...
提前感谢您的帮助
您必须将 link_to
的参数括在括号中:
<%= key == "name" ? link_to(@entity, edit_entity_path(entity)) : value %>
有一个 link_to_if 助手,可以将您的代码重构为:
<% entity.attributes.each do |key, value| %>
<%= link_to_if key == "name", value, edit_entity_path(entity) %>
<% end %>
我目前正在学习 ruby,但我无法让我的嵌入式 ruby 正常工作,我们将不胜感激。
我基本上是想在我的嵌入式 ruby
中编写这个 if 语句的简短版本<% entity.attributes.each do |key, value| %>
<%= if key == "name"
link_to @entity, edit_entity_path(entity)
else
value
end %>
<%= end %>
按照我的理解(还有这个post)应该可以这样写
<% entity.attributes.each do |key, value| %>
<%= key == "name" ? link_to @entity, edit_entity_path(entity) : value %>
<%= end %>
这似乎不起作用。我做错了什么?
Ralils Error Message: syntax error, unexpected tIVAR, expecting keyword_do or '{' or '(' ...ey == "name") ? ...
提前感谢您的帮助
您必须将 link_to
的参数括在括号中:
<%= key == "name" ? link_to(@entity, edit_entity_path(entity)) : value %>
有一个 link_to_if 助手,可以将您的代码重构为:
<% entity.attributes.each do |key, value| %>
<%= link_to_if key == "name", value, edit_entity_path(entity) %>
<% end %>