我的#new 表单中有代码:
<%= form_for @phone do |p| %>
<%= p.label :name %>
<%= p.text_field :name %>
<%= p.label :photo %>
<%= p.text_field :photo %>
<%= p.submit %>
<% end %>
我可以把它放在一个代码块中吗?怎么做?
我的#new 表单中有代码:
<%= form_for @phone do |p| %>
<%= p.label :name %>
<%= p.text_field :name %>
<%= p.label :photo %>
<%= p.text_field :photo %>
<%= p.submit %>
<% end %>
我可以把它放在一个代码块中吗?怎么做?
对于在视图中打印,它使用:
<%= 'This will be printed in the view' %>
并且代码在没有=
. 像这样:
<% if false%>
<%= 'This will NOT be printed' %>
<% else %>
<%= 'This will be printed' %>
<%end%>
<%= some_code %>
打印任何计算的结果。因此,几个 <%= %> 事情会导致在视图中插入几个不同的结果。
如果你只想使用一个代码块,你应该使用连接:
<%= 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。
在分隔符 '<%=' 和 '%>' 之间写入的代码总是用于在输出屏幕上打印
因此任何写成:
<%= is a printable/output text %>
像这样写的任何东西:
<% if a == b %>
只是逻辑的一部分,永远不会被打印出来
为了回答你,你不能混合和匹配它们。