在轨道上的ruby中的括号内添加if语句

时间:2013-03-07 03:50:44

标签: ruby-on-rails erb

我在视图中有以下内容.html.erb:

<%= form_tag :action=>"edit", :id => @product.id do %>

我想基本上只添加id,如果@product存在(我猜想不是null)所以我想做一些事情:

<%= form_tag :action=>"edit" if @product print",:id => @product.id" end do %>

我知道上面的代码是错误的,但这就是它背后的想法,不知道我是否可以在&lt;%=标签内嵌入。

由于

3 个答案:

答案 0 :(得分:0)

<%= form_tag :action=>"edit", :id => (@product.id if @product) do %>

答案 1 :(得分:0)

<%
url_options = { :action => "edit" }
html_options = {}

html_options[:id] = @product.id if @product
%>

<%= form_tag url_options, html_options do %>    
  <% .... %>
<% end %>

答案 2 :(得分:0)

这应该有效:

<% if @product %>

    <%= form_tag :action=>"edit",:id => @product.id" do %>

<% else %>

    <%= form_tag :action=>"edit" do %>

<% end %>

您可以将条件代码嵌入&lt;%= ...%&gt;标签,如果你使用eval,但上面可能更清楚!