Ruby 我可以在单个erb输出中连接两个辅助方法的结果吗

Ruby 我可以在单个erb输出中连接两个辅助方法的结果吗,ruby,sinatra,erb,Ruby,Sinatra,Erb,我创建了一个助手来使用erb输出一些文本 <%= helper_method %> 但是如果我试着把它放两次,它就不起作用了 <% = helper_method helper_method %> 我期待文本出现两次…但我只收到一次…尝试以下内容 <%= %Q(#{helper_method} #{helper_method}) %> 试试下面的方法 <%= %Q(#{helper_method} #{helper_metho

我创建了一个助手来使用erb输出一些文本

<%= helper_method %>

但是如果我试着把它放两次,它就不起作用了

<% =  
helper_method  
helper_method  
%>

我期待文本出现两次…但我只收到一次…

尝试以下内容

<%= %Q(#{helper_method} #{helper_method}) %>

试试下面的方法

<%= %Q(#{helper_method} #{helper_method}) %>

每个
输出一个字符串,因此可以将它们合并到一个字符串中,也可以执行两次

<%= helper_method %> (or <%= ... -%> )
<%= helper_method %>
(或)
连接的方式多种多样<代码>%Q、普通字符串插值等。

每个
输出一个字符串,因此可以将它们合并到一个字符串中,或者执行两次

<%= helper_method %> (or <%= ... -%> )
<%= helper_method %>
<%= helper_method + helper_method %>
(或)
连接的方式多种多样<代码>%Q,普通字符串插值等。


<%= helper_method + helper_method %>

当你说
时,
=
表示打印输出,但当你说

<% =  
helper_method1  
helper_method2 
%>

Rails不知道应该打印哪个输出,因为它有两种方法:

  • 辅助方法1
  • 辅助方法2
当你说
时,
=
表示打印输出,但当你说

<% =  
helper_method1  
helper_method2 
%>

Rails不知道应该打印哪个输出,因为它有两种方法:

  • 辅助方法1
  • 辅助方法2

如果需要多次打印字符串(本例中的字符串来自助手),只需使用乘数运算符即可

#helper
def helper_method
  "Text"
end

#view
<%= helper_method * 2 %>
#助手
def-helper\u方法
“文本”
结束
#看法
结果将生成一个新字符串,如下所示:TextText


HTH

如果需要多次打印字符串(本例中的字符串来自助手),只需使用乘法器运算符即可

#helper
def helper_method
  "Text"
end

#view
<%= helper_method * 2 %>
#助手
def-helper\u方法
“文本”
结束
#看法
结果将生成一个新字符串,如下所示:TextText


HTH

因为最后一次返回的值包括在内。谢谢你们的回答。。其目的更多的是在erb中进行连续编码。假设您调用方法来输出一些,如果必须的话,我不想再开始另一个
,但您似乎正在努力寻找它从未打算做的事情。因为最后返回的值包括在内。谢谢大家的回答。。其目的更多的是在erb中进行连续编码。假设您调用方法来输出一些,如果必须的话,我不想再开始另一个
,但您似乎在努力寻找它从未打算做的事情。这并不是说它“不知道”要打印哪个。只是Erb中的
只对块中的最后一个表达式调用
。(如标签所示,这是Sinatra,不是Rails。)@Phrogz好吧,现在它被改为Rails:)@RocketR-Huh。这似乎是一个糟糕的编辑。我把它还原了:)不是因为它“不知道”该打印哪个。只是Erb中的
只对块中的最后一个表达式调用
。(如标签所示,这是Sinatra,不是Rails。)@Phrogz好吧,现在它被改为Rails:)@RocketR-Huh。这似乎是一个糟糕的编辑。我已将其还原:)