Rails评估传递给helper方法的变量

时间:2012-12-13 15:26:34

标签: ruby-on-rails ruby erb

是否可以在将变量传递给Rails中的辅助方法之前传入该变量的值。

例如,我有一个base64_encode帮助方法,@ base_url只是在字符串文字中传递而不是被评估。

<%= base64_encode(#{@base_url} + '/helloworld.html') %>

1 个答案:

答案 0 :(得分:5)

"#{ variable }"是ruby字符串中的变量插值。所以你至少有两个构建字符串的选项。

<%= base64_encode("#{ @base_url }/helloworld.html") %>
# or
<%= base64_encode(@base_url + "/helloworld.html") %> 

请注意,您需要使用""进行Ruby字符串插值而不是'' Kansas City on Rails有一个short blog post,可以一眼看出字符串互换的样子。