爲什麼當我有這樣的,我認爲文件的鏈接:軌之間不同的行爲:網址VS url_for({:控制器:,:動作})
<%= link_to image_tag("foo.png"), :url => new_foo_path, :class => "banner-image" %>
生成的標記產生無效的錨標記像這樣:
<a href="/home/index?class=banner-image&url=http%3A%2F%2Flocalhost%3A3000%2Ffoo%2Fnew"><img alt="foo" src="/assets/foo.png"></a>
但是,如果我這樣做:
<%= link_to image_tag("foo.png"), url_for({:controller => "foo", :action => "new"}), :class => "banner-image" %>
它完美 - 這將產生這樣的:
<a href="/foo/new" class="banner-image"><img alt="foo" src="/assets/foo.png"></a>
我的routes.rb包含此行FOO:
resources :foo, only: [:new, :create]
如果我記得你不需要在你的第一個例子中傳遞:url參數。 '<%= link_to image_tag(「foo.png」),new_foo_path,:class =>「banner-image」%>'應該可以工作 –