假设我有一个控制器测试。
在测试中我定义了3个动作:
def zah
end
def zeh
end
def zih
end
我有意见:
zah.html.erb
zeh.html.erb
zih.html.erb
并在routes.rb下我有:
get 'test/zah'
get 'test/zeh'
get 'test/zih'
如果我在zah.html.erb下编写,使用从rubymine IDE自动创建的代码,这个:
<%= link_to test_zeh_path%>
我将获取我的页面源代码:
<a href="/test/zah">http://localhost:3000/test/zeh</a>
使zah的重定向成为自己。
运行rake路由返回:
Prefix Verb URI Pattern Controller#Action
test_zah GET /test/zah(.:format) test#zah
test_zeh GET /test/zeh(.:format) test#zeh
test_zih GET /test/zih(.:format) test#zih
任何人都可以向我解释为什么链接会自动(从zah到zah)而不是其他页面(从zah到zeh)?
编辑:
我发现在链接中添加名称会使生成的代码正常工作:
<%= link_to 'zeh', test_zeh_path%>
我在22:45看到了第一次使用(link_to test_zeh_path)here。
Ruby on rails api确实说如果传递了nil名称,那么&#34;链接本身的值将成为名称。&#34;。
至于我自己的错误,我想知道为什么Dave Jones能够创建一个没有名字的链接,但他没有,这可以在他的源代码中看到。
答案 0 :(得分:-1)
因为你已在显示部分写了网址。
你可以简单地做到
<%= link_to 'Goto Zeh', test_zeh_path %>
你会很高兴。