我是Rails的新手,现在正在学习路由,这就是我在routes.rb
中的内容:
match '/text' => 'text#index'
match '/text/:id' => 'text#show'
这是我的app/views/text/index.html.erb
:
<h1>Texts</h1>
<% @texts.each do |t| %>
<div><%= link_to t.title, text_path(t) %></div>
<% end %>
问题在于,当我点击链接时,它会将我重定向到'/ text.1'而不是'/ text / 1'。任何人都可以找出原因吗?
感谢。
答案 0 :(得分:1)
听起来文字是您应用中的资源 - 您应该使用resource routing。
对于这种情况,如果由于某种原因您不想使用资源路由,则应查看rake routes
的输出,并查看为text#show
路由指定的名称并使用它。
答案 1 :(得分:0)
try this
<h1>Texts</h1>
<% @texts.each do |t| %>
<div><%= link_to t.title, t %></div>
<% end %>
或者
<h1>Texts</h1>
<% @texts.each do |t| %>
<div><%= link_to t.title, text_path(:id => t.id) %></div>
<% end %>