Проблема Symbolize_keys с скрепками-направляющими - PullRequest
0 голосов
/ 19 января 2012

Когда я запускаю эту строку кода в моем представлении,

<%= image_tag(item.picture.url(:medium), :class => "iteminfo") %>

я получаю ошибку

 undefined method `symbolize_keys'

.Я в настоящее время использую драгоценный камень скрепки с хранилищем S3.Какие-либо предложения?

- Изменить:

Вот что говорит журнал сервера:

Started GET "/items/compare" for 127.0.0.1 at 2012-01-19 14:47:21 -0500
Processing by ItemsController#compare as HTML
(0.1ms)  SELECT items.id FROM "items" 
Item Load (0.2ms)  SELECT "items".* FROM "items" WHERE "items"."id" IN (3, 2)
Rendered items/compare.html.erb within layouts/application (37.3ms)
Completed 500 Internal Server Error in 99ms

ActionView::Template::Error (undefined method `symbolize_keys' for #<String:0x007f9ebccd92b0>):
3: <% @items.each do |item| %>
4:  <div class="item<%= loopcount %>">
5:      <% loopcount = loopcount +1%>
6:      <%= image_tag(item.picture.url(:medium), :class => "iteminfo") %> <blockquote>     </blockquote>
7:      <h2 class = "iteminfotext"><%= item.votes %></h2>
8:      <h1 class = "iteminfotext"><%= item.location %></h1>
9:      <div class="iteminfotext"><%= button_to "Vote", :action => "vote", :id => item.id, %></div>
app/views/items/compare.html.erb:6:in `block in _   app_views_items_compare_html_erb___818922328118740053_70159882605160'
app/views/items/compare.html.erb:3:in `each'
app/views/items/compare.html.erb:3:in `  _app_views_items_compare_html_erb___818922328118740053_70159882605160'

Rendered /Users/Alex/.rvm/gems/ruby-1.9.2-p290/gems/actionpack-  3.1.3/lib/action_dispatch/middleware/templates/rescues/_trace.erb (1.1ms)
Rendered /Users/Alex/.rvm/gems/ruby-1.9.2-p290/gems/actionpack-3.1.3/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (0.8ms)
Rendered /Users/Alex/.rvm/gems/ruby-1.9.2-p290/gems/actionpack-3.1.3/lib/action_dispatch/middleware/templates/rescues/template_error.erb within rescues/layout (3.8ms)

1 Ответ

0 голосов
/ 20 января 2012

Это вопрос рельсов или скрепок.Если вы сделаете

<%= image_tag(item.picture.url(:medium), :class => "iteminfo") %>

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

<%= link_to image_tag(item.picture.url(:medium), :class => "iteminfo"), item_path(item) %>

, иначе вы всегда будете получать

undefined method `symbolize_keys'

длячтобы избежать этого, все, что вам нужно сделать, это восстановить блок тегов изображения, чтобы он выглядел следующим образом

 <%= image_tag(item.picture.url(:medium)), :class => "iteminfo" %>

или

<%= image_tag(item.picture(:medium)), :class => "iteminfo" %>

, тогда ваша проблема решена

update:

<%= image_tag item.picture.url(:medium), :class => "iteminfo" %>
<%= image_tag item.picture(:medium), :class => "iteminfo" %>
...