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

Phi*_*unt 1 ruby ruby-on-rails erb

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

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

<%= base64_encode(#{@base_url} + '/helloworld.html') %>
Run Code Online (Sandbox Code Playgroud)

Tho*_*emm 5

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

<%= base64_encode("#{ @base_url }/helloworld.html") %>
# or
<%= base64_encode(@base_url + "/helloworld.html") %> 
Run Code Online (Sandbox Code Playgroud)

请注意,您需要使用""Ruby字符串插值而不是''.
Kansas City on Rails有一篇简短的博客文章,一目了然地看到字符串互换的样子.