2011-11-30 87 views
0

我想制作一个相当简单的图像链接,使用我资产中的图像。得到奇怪的错误。首先我想:Rails 3.1,无法使link_to image_path?

<%= link_to assets_path "town.png", 'index' %> 

,并得到了错误

Started GET "/" for 127.0.0.1 at Wed Nov 30 17:27:10 -0500 2011 
Processing by PagesController#intro as HTML 
Rendered pages/intro.html.erb within layouts/application (114.9ms) 
Completed 500 Internal Server Error in 124ms 

ActionView::Template::Error (undefined method `assets_path' for #<#<Class:0x10fdc4898>:0x10fdaad58>): 
1: <body onload="init();"> 
2: <div id = "wrapper2"> 
3: <div class="intro_txt"> 
4:  <%= link_to assets_path "town.png", 'index' %> 
5:  <br><br> 
6: </div> 
7: </div> 
app/views/pages/intro.html.erb:4:in  `_app_views_pages_intro_html_erb__1651075534_2280428740' 

然后我尝试了老

<%= link_to image_tag "town.png", 'index' %> 

,并得到这个奇怪的错误

ActionView::Template::Error (undefined method `symbolize_keys!' for "index":String): 
1: <body onload="init();"> 
2: <div id = "wrapper2"> 
3: <div class="intro_txt"> 
4:  <%= link_to image_tag "townProjectText.png", 'index' %> 
5:  <br><br> 
6: </div> 
7: </div> 
app/views/pages/intro.html.erb:4:in `_app_views_pages_intro_html_erb__1651075534_2279838600' 

怎么办?

+3

有些支架可能会帮助到另一个页面图像。 Rails可能无法理解您提供的选项。也许更像是:'<%= link_to(image_tag(“town.png”,:alt =>'Town Image'),index_url)%>' – Pete

+0

@zoltarSpeaks将您的评论发布为答案。它看起来不错 – lucapette

+1

@zoltarSpeaks是。作为回答发布,所以我可以接受。我以为我尝试过......但我猜不是。我们。谢谢 – varatis

回答

4
<%= link_to image_tag('town.png'), 'index' %> 

把一些括号

3

你需要一些()

<%= link_to image_tag("town.png"), pages_path %> 

此外,您还需要使用image_tag

0

呀一些括号或许会有所帮助。尝试是这样的:

<%= link_to(image_tag("town.png", :alt => 'Town Image'), index_url) %> 
1
<%= link_to image_tag("town.png"), image_path %> 

如果你想让它本身