Rails路由:错误的路径

时间:2012-09-29 01:48:31

标签: ruby-on-rails

我是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'。任何人都可以找出原因吗?

感谢。

2 个答案:

答案 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 %>