【发布时间】:2014-04-24 19:59:43
【问题描述】:
假设我有变量@var。通常我会使用<%= @var %> 将其写入视图。现在我想从我的视图中调用一个模块方法,该方法在内部决定是否写入@var 的内容。
在模块内部我不能使用<%= %>。如何从模块中打印@var 的内容?该方法将像这样调用:<% my_method %>。谢谢
更新 感谢您到目前为止的答案。也许我应该更多地谈谈我最初的问题,以便更清楚。对不起,如果我不够清楚。
一开始我是这样使用<%= %>标签的:
def print_if_present(var)
var ? var : ""
end
<%= print_if_present var %>
但是,当 var 为 nil 时,我得到了 "" 作为输出,这在视图中占据了空间。如何防止这种行为?
【问题讨论】:
-
模块是指视图助手,对吧?
-
你的模块方法应该返回一个可以使用
<%= %>写的值 -
@fotanus 是的,它是一个视图助手
标签: ruby-on-rails ruby actionview