5

如果我写类似:

<% if signed_in?.blank? %>或者<%= link_to "Sign Up", sign_up_path %>

<%和的两个符号有什么区别<%=

为什么要这样做,而不是为了简单而只使用一个?

我什么时候知道我需要使用<%over <%=

4

2 回答 2

10

<%=将代码的返回值放入页面。

<%只需执行代码。

这是关于 ERB 的良好指南http://api.rubyonrails.org/classes/ActionView/Base.html

于 2012-06-13T13:54:39.873 回答
1

<% %>只需执行该块内的语句,而<%= %>将输出语句的结果。

例如,使用<% if signed_in?.blank? %>,ruby 解释器只执行该代码并检查是否signed_in为空白。

<%= link_to %>语句实际上会生成 HTML。

于 2012-06-13T13:56:55.147 回答