我一直在经历Ruby和Ruby on Rails的速成课程,我无法弄清楚:在嵌入式ruby html文件中,有几个标签.执行<%=%>的输出<%%>,但这些标签的功能是什么:<%= - %>,最后带有" - "符号的是什么?
谢谢.
有没有办法</a>在link_to帮助器中修复标签的缩进?
在我的.html.erb中:
<%= link_to... do %>
...
<% end %>
Run Code Online (Sandbox Code Playgroud)
在渲染.html:
<a href="..">
</a><!--fails to inherit the indentation-->
Run Code Online (Sandbox Code Playgroud)
IDE中的2空格缩进:

Chrome的view-source:*:

我正在尝试将我控制器中定义的简单数组打印到我的视图中,每个元素都有一个新行.但它正在做的是将整个阵列打印在一条线上.
这是我的控制器:
class TodosController < ApplicationController
def index
@todo_array = [ "Buy Milk", "Buy Soap", "Pay bill", "Draw Money" ]
end
end
Run Code Online (Sandbox Code Playgroud)
这是我的观点:
<%= @todo_array.each do |t| %>
<%= puts t %><\br>
<% end %>
Run Code Online (Sandbox Code Playgroud)
这是结果:
<\br> <\br> <\br> <\br> ["Buy Milk", "Buy Soap", "Pay bill", "Draw Money"]
Run Code Online (Sandbox Code Playgroud) 我刚开始深入研究Ruby和Ruby on Rails,我注意到在.html.erb文件中嵌入Ruby语法的两个选项:
<% #ruby code here %>
Run Code Online (Sandbox Code Playgroud)
要么:
<%= #ruby code here %>
Run Code Online (Sandbox Code Playgroud)
我应该如何选择其中一个?
我是ruby和rails的新手.我所遵循的教程没有解释<%和<%=标签之间的区别.例如:
<% @statuses.each do |status| %>
<tr>
<td><%= status.name %></td>
<td><%= status.content %></td>
<td><%= link_to 'Show', status %></td>
<td><%= link_to 'Edit', edit_status_path(status) %></td>
<td><%= link_to 'Destroy', status, method: :delete, data: { confirm: 'Are you sure?' } %></td>
</tr>
<% end %>
Run Code Online (Sandbox Code Playgroud)
循环只用<%打开,在其中用<%=打开标签.
那有什么区别?
谢谢
我对下面关于ERB模板的想法是否正确?任何建议都会非常感激.
嵌入式ruby语法是否具有等号"<%=%>",旨在呈现某些输出?而没有等号"<%%>"的那个没有.
部分我有:
<%= shift.ones.times do %>
<p>one</p>
<% end %>
Run Code Online (Sandbox Code Playgroud)
最终的HTML(来自页面源)是:
<p>one</p>
1
Run Code Online (Sandbox Code Playgroud)
为什么是这样?我怎么能阻止它?
提前致谢.
我在 ruby html 中有一个表单:
<%= form_for :article do |f| %>
<p>
<%= f.label :title %><br>
<%= f.text_field :title %>
</p>
<p>
<%= f.label :text %><br>
<%= f.text_area :text %>
</p>
<p>
<%= f.submit %>
</p>
<% end %>
Run Code Online (Sandbox Code Playgroud)
注意力
最后一行代码:<% end %>,为什么不是<%= end %>?
它们有什么不同的功能?如果使用<%= end %>,则会出现此语法错误。