Изображение скрепки внутри link_to => неопределенный метод `symbolize_keys! ' для # <Design: 0x00000002dfa5f0> - PullRequest
3 голосов
/ 27 сентября 2011

У меня есть следующий код:

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

И я получаю эту ошибку:

undefined method `symbolize_keys!' for #<Design:0x00000002dfa5f0>

Но тогда, если я удаляю деталь дизайна из первой ссылки, оставляя код, подобный этому:

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

Работает!Очевидно, с пустой ссылкой в ​​первую очередь, но отображает страницу.

Переменная изображения определяется в application_helper.rb следующим образом:

def image
    image = image_tag("image.jpg", :alt => %(No image available), :class => "round")
end

Я, очевидно, что-то здесь упускаю...

1 Ответ

10 голосов
/ 27 сентября 2011

вы должны как минимум поставить круглые скобки вокруг внутреннего вызова метода:

<%= link_to image_tag(design.avatar.url(:thumb)), design %>

потому что ruby ​​интерпретирует design как второй аргумент image_tag, а image_tag ожидает там хеш, который он пытается нормализовать (с symbolize_keys!)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...