如何在Rails助手选项中连接字符串

时间:2013-07-26 13:34:15

标签: ruby-on-rails ruby ruby-on-rails-3.2

我对Rails很新。 图1 中的代码段导致rails变量错误的参数数量(0表示1),当变量asset_path添加到值的前面时original

图1:Rails image_tag

<%= image_tag("foo/blank.gif", {
    :class =>"lazy", 
    :data => { "original" => asset_path + 'foo/image-01.png'}, 
    :alt => ""}) %>

问题似乎在于两个字符串的连接方式:

asset_path + 'foo/image-01.png'

在此上下文中连接两个字符串的正确方法是什么?

2 个答案:

答案 0 :(得分:2)

资产路径需要一个参数而你没有传递一个参数,这就是它爆炸的原因。这样做的正确方法是使用image_path,这也需要一个参数:

<%= image_tag("foo/blank.gif", {
    :class =>"lazy",
    :data => { "original" => image_path("foo/image-01.png")},
    :alt => ""}) %>

答案 1 :(得分:0)

此外,您应该在资产(javascript,css)中使用“asset_path”,例如:

$('#logo').attr({
  src: "<%= asset_path('logo.png') %>"
});

必须阅读以下决定:http://guides.rubyonrails.org/asset_pipeline.html