2014-10-16 66 views
0

只是嘗試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

試試這個'<%​​= link_to image_tag(「category-box _#{zone.id} .jpg」),zone_path(zone.id)%>'而不是'zone(zone.id) ' – 2014-10-16 10:59:40

+0

你好,正確的路徑是spots_by_zone_path(zone.id),所以我做了 <%= link_to image_tag「category-box _#{zone.id} .jpg」,spots_by_zone_path(zone.id)%>,但我得到了「/ spots/zonas/1」的未定義方法'symbolize_keys':字符串 – Gibson 2014-10-16 11:01:31

回答

2

您需要將您的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