区别:class和:id,在什么情况下我们通常会在Rails中使用<%=%>和<%%>

bod*_*tva 1 tags ruby-on-rails class

当我们使用rails帮助程序(如form_form,form_tag)时,特别是当我们需要使用Javascript选项时,我们提供了这些帮助程序:id => "some_value" and :class => "some_value".我只想了解"id"和"class"与可用性角度的区别.这将有助于我更好地决定何时需要使用这些选项中的任何一个以及何时必须同时使用这两个选项.

也,

我只是想知道我们在什么情况下使用什么<%= %>以及何时使用<% %>wrt Rails.到目前为止,我已经看到它们在各种情况下的使用.

如果你能用相关的问题回答这些问题会很棒,

非常感谢你的时间......

ctc*_*rry 5

你的"class"vs"id"问题实际上是指CSS最佳实践.以下是一些信息:http://css-tricks.com/the-difference-between-id-and-class/

<%= %>ERB标签输出在标签中的表达的结果,例如...

<%= ['hello', 'world'].join(' ') %>
Run Code Online (Sandbox Code Playgroud)

将被替换为字符串"hello world"

假设你想设置一个变量供以后使用,<% %>因为你不想输出结果.例如:

<% my_var = "test" %>
Run Code Online (Sandbox Code Playgroud)

这没有输出,但确实设置my_var变量供以后使用.如果你<%=误用了......

<%= my_var = "test" %>
Run Code Online (Sandbox Code Playgroud)

该标记将在生成的呈现页面中替换为"test",在这种情况下,这可能不是您想要做的.<% %>标签的另一个常见用途是循环.

<% ['item1','item2','item3'].each do |item| %>
  <li><%= item %></li>
<% end %>
Run Code Online (Sandbox Code Playgroud)

这将导致:

<li>item1</li>
<li>item2</li>
<li>item3</li>
Run Code Online (Sandbox Code Playgroud)

我希望这有助于澄清你的一些问题!