为什么在视图中同时使用<%和<%=?

时间:2012-06-13 13:53:31

标签: ruby-on-rails erb

如果我写的话:

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

<%<%=的两个标志之间有什么区别?

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

我何时知道我需要<%使用<%=

2 个答案:

答案 0 :(得分:10)

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

<%只需执行代码。

以下是关于ERB http://api.rubyonrails.org/classes/ActionView/Base.html

的良好指南

答案 1 :(得分:1)

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

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

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