link_to =>未定义的方法`symbolize_keys!'中的回形针图像 对于#<Design:0x00000002dfa5f0>

mor*_*ner 3 ruby-on-rails

我有以下代码:

<% if design.avatar.file? %>
    <%= link_to image_tag design.avatar.url(:thumb), design %>
<% else %>
    <%= link_to image, design %>
<% end%>
Run Code Online (Sandbox Code Playgroud)

我得到这个错误:

undefined method `symbolize_keys!' for #<Design:0x00000002dfa5f0>
Run Code Online (Sandbox Code Playgroud)

但是,如果我从第一个链接中删除设计部分,请保留以下代码:

<% if design.avatar.file? %>
    <%= link_to image_tag design.avatar.url(:thumb) %>
<% else %>
    <%= link_to image, design %>
<% end%>
Run Code Online (Sandbox Code Playgroud)

有用!显然首先是一个空链接,但呈现页面.

image_helper.rb中定义了image变量,如下所示:

def image
    image = image_tag("image.jpg", :alt => %(No image available), :class => "round")
end
Run Code Online (Sandbox Code Playgroud)

我显然在这里遗漏了一些东西......

Mar*_*sen 10

你应该至少在你的内部方法调用周围加上括号:

<%= link_to image_tag(design.avatar.url(:thumb)), design %>
Run Code Online (Sandbox Code Playgroud)

因为ruby将其解释design为第二个参数image_tag,并image_tag期望在那里使用哈希,它会尝试规范化(使用symbolize_keys!)