Ruby on rails erb中带html标记的Ruby三元运算符

Ruby on rails erb中带html标记的Ruby三元运算符,ruby-on-rails,ruby,sinatra,ternary-operator,Ruby On Rails,Ruby,Sinatra,Ternary Operator,我试图检查一个条件,然后包括“停止服务器”和“启动服务器”锚标记。我犯了一个错误 请告知需要更改的内容。谢谢 <%= condition ? "Running" <a href='/stop'> Stop Server </a> :"Stopped" <a href='/start'> Start Server</a> %> </td> 您将代码和html混合在一起。这样做会更清楚: <% if condition

我试图检查一个条件,然后包括“停止服务器”和“启动服务器”锚标记。我犯了一个错误

请告知需要更改的内容。谢谢

<%= condition ? "Running" <a href='/stop'> Stop Server </a> :"Stopped" <a href='/start'> Start Server</a> %> </td>

您将代码和html混合在一起。这样做会更清楚:

<% if condition %>
    "Running" <a href='/stop'> Stop Server </a>
<% else %>
    "Stopped" <a href='/start'> Start Server</a>
<% end %>

“跑步”
“停止”

您应该这样做

<%= condition ? "Running <a href='/stop'> Stop Server </a>" :"Stopped <a href='/start'> Start Server</a> %> </td>"
看一看


这是一个很好的答案。但除此之外,我还要补充一点,最初的问题很大一部分是,您输出的标记(从Ruby的角度来看,这些标记是(或应该是)字符串)根本没有被引用。你可以解决这个问题,但这一行很快就会变得复杂,难以阅读和维护。这就是我的马特的答案,就是要走的路。
 <%= 
   link_to_if condition, 'Run server', run_server_path do
     link_to 'Stop server', stop_server_path
   end 
 %>