如何在Ruby on Rails中有条件地在html erb文件中显示div

时间:2018-05-08 20:24:37

标签: ruby-on-rails

我希望显示一个基于id存在的Button。

_form.html.erb

<%= @customer.id? %>
    <div class="pull-right">
        <%= button_to 'Kundenrofil', customer_path(@customer), method: :get %>
   </div>
<%= end %>

我在表单中使用它来创建新客户以及编辑客户。

如果我编辑一个客户,一切正常,但如果我创建一个新用户,它会给我一个错误,因为

id=nil

如何在 _form.html.erb

中执行此操作

1 个答案:

答案 0 :(得分:3)

<% unless @customer.id.nil? %>
    <div class="pull-right">
        <%= button_to 'Kundenrofil', customer_path(@customer), method: :get %>
   </div>
<% end %>

你必须将if/unless与表达式放在一起。因此,使用@customer.id?更改unless @customer.id.nil?。另请注意<%而不是<%=。 当我们想要在页面上呈现某些内容时,会使用<%=<%用于在括号内执行ruby代码。 将<%= end %>更改为<% end %>

参考this了解差异。