1

私は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」にリダイレクトされることです。誰でも理由を理解できますか?

ありがとう。

4

2 に答える 2

1

テキストはアプリのリソースのようです -リソース ルーティングを使用する必要があります。

この正確なケースで、何らかの理由でリソース ルーティングを使用したくない場合は、の出力を見て、ルートrake routesに割り当てられている名前を確認し、それを使用する必要があります。text#show

于 2012-09-29T03:38:56.203 に答える
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 %>
于 2012-09-29T04:41:04.683 に答える