找不到没有ID的区域

问题描述:

只是尝试link_to image_tag帮手,我无法让它工作。找不到没有ID的区域

有人可以告诉我最新错了吗?

控制器

class PagesController < ApplicationController 
    def home 
    @categories = Category.all 
    @zone = Zone.find(params[:id]) 
    @zones = Zone.all 
    @photos = Photo.landing 
    end 

end 

查看

<% @zones.limit(8).each do |zone| %> 
     <%= link_to image_tag "category-box_#{zone.id}.jpg", zone(zone.id) %> 
    <% end %> 

更新

我发现从控制器的标识问题就来了。现在的错误是:

未定义的方法`symbolize_keys' 1:Fixnum对象

谢谢!

+1

尝试'的link_to IMAGE_TAG( “类别盒_#{} zone.id .JPG”) ,zone_path(zone.id)' – 2014-10-16 10:59:26

+1

试试这个''而不是'zone(zone.id) ' – 2014-10-16 10:59:40

+0

你好,正确的路径是spots_by_zone_path(zone.id),所以我做了 ,但我得到了“/ spots/zonas/1”的未定义方法'symbolize_keys':字符串 – Gibson 2014-10-16 11:01:31

您需要将您的image_tag包裹在括号内。你的代码应该是这个样子:

<% @zones.limit(8).each do |zone| %> 
    <%= link_to image_tag("category-box_#{zone.id}.jpg"), spots_by_zone_path(zone.id) %> 
<% end %> 

OR

您可以简单地使用block form of link_to

<% @zones.limit(8).each do |zone| %> 
    <%= link_to spots_by_zone_path(zone.id) do %> 
     <%= image_tag "category-box_#{zone.id}.jpg" %> 
    <% end %> 
<% end %> 
+1

完美答案。非常感谢。 – Gibson 2014-10-16 11:08:42

+1

@Gibson当你不使用括号时,rails会将路径助手当作image_tag的参数,从而导致错误 – Mandeep 2014-10-16 11:27:40