我的#new表格中有代码:
<%= form_for @phone do |p| %>
<%= p.label :name %>
<%= p.text_field :name %>
<%= p.label :photo %>
<%= p.text_field :photo %>
<%= p.submit %>
<% end %>
我可以把它放在一个代码块中,怎么做?
答案 0 :(得分:1)
要在视图中打印,请使用:
<%= 'This will be printed in the view' %>
并且代码在没有=
的情况下使用。像这样:
<% if false%>
<%= 'This will NOT be printed' %>
<% else %>
<%= 'This will be printed' %>
<%end%>
答案 1 :(得分:0)
在分隔符'&lt;%='和'%&gt;'之间写入的代码alwayz用于在输出屏幕上打印
因此写得像:
<%= is a printable/output text %>
任何类似的内容:
<% if a == b %>
只是逻辑的一部分,永远不会打印
并回答你,你不能混合和匹配它们。
答案 2 :(得分:0)
<%= some_code %>
打印到任何计算的查看结果中。所以,几个&lt;%=%&gt;事情导致在视图中插入几个不同的结果。
如果您只想使用一个代码块,则应使用连接:
<%= form_for @phone do |p| %>
<%=
p.label(:name) +\
p.text_field(:name) +\
p.label(:photo) +\
p.text_field(:photo) +\
p.submit
%>
也许它会导致html在视图中逃逸(抱歉,我没有检查)。无论如何,它看起来很丑陋。如果您想简化视图,我建议您使用HAML(http://haml.info/)而不是ERB。