Ruby on rails 在({:controller:,:action})的:url与url_之间跟踪不同的行为
为什么我的视图文件中有这样的链接:Ruby on rails 在({:controller:,:action})的:url与url_之间跟踪不同的行为,ruby-on-rails,Ruby On Rails,为什么我的视图文件中有这样的链接: <%= 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
<%= 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>
您可以直接在链接到中使用新路径。无需为其添加
:url=>
<%= link_to your-text-or-image-tag, your-path %>
有关更多信息,请查看链接。您可以直接在
link\u to
中使用new\u foo\u路径。无需为其添加:url=>
<%= link_to your-text-or-image-tag, your-path %>
有关更多信息,请查看链接。查看源代码:
这是因为在第一种形式中,您实际上是在方法接受的选项散列中传递url
&类。换句话说,您正在这样做:
<%= link_to image_tag("foo.png"), { :url => new_foo_path, :class => "banner-image" } %>
它将第一个散列作为选项
散列传递,第二个作为html\u选项
散列传递
但是,正如其他人所提到的,您可以:
<%= link_to image_tag("foo.png"), new_foo_path, :class => "banner-image" %>
“横幅图像”%>
它将把new\u foo\u路径
作为:url
中的值传递给{:class=>'banner image'}
作为html\u选项
散列。查看源代码:
这是因为在第一种形式中,您实际上是在方法接受的选项散列中传递url
&类。换句话说,您正在这样做:
<%= link_to image_tag("foo.png"), { :url => new_foo_path, :class => "banner-image" } %>
它将第一个散列作为选项
散列传递,第二个作为html\u选项
散列传递
但是,正如其他人所提到的,您可以:
<%= link_to image_tag("foo.png"), new_foo_path, :class => "banner-image" %>
“横幅图像”%>
它将new_foo_path
作为:url
中的值传递,而{:class=>'banner image'}
作为html_选项
散列。如果我记得您不需要在第一个示例中传递:url参数“banner image”%>
应该可以工作,如果我记得您不需要在第一个示例中传递:url参数<代码>“横幅图像”%>
应该可以工作
<%= link_to image_tag("foo.png"), new_foo_path, :class => "banner-image" %>