2016-04-06 6 views
1

私はRuby on Railsの初心者で、Michael Hartl'sの「レールチュートリアル」に従っています。第2章では、link_toが使用されている部分の次のコードについています。 URLを明示的に記述していない場合、link_toはどのlink_toを指しているのですか?link_toはどのようにレールで動作しますか?

<h1>Listing users</h1> 
    <table> 
    <tr> 
    <th>Name</th> 
    <th>Email</th> 
    <th></th> 
    <th></th> 
    <th></th> 
    </tr> 
    <% @users.each do |user| %> 
    <tr> 
    <td><%= user.name %></td> 
    <td><%= user.email %></td> 
    <td><%= link_to 'Show', user %></td> 
    <td><%= link_to 'Edit', edit_user_path(user) %></td> 
    <td><%= link_to 'Destroy', user, confirm: 'Are you sure?', 
    method: :delete %></td> 
    </tr> 
    <% end %> 
    </table> 
    <br /> 
    <%= link_to 'New User', new_user_path %> 

ありがとうございます。 JavaScriptが読み込まれなかったので、何とかコメントできません。リンクを提供してくれてありがとう、amalrik maia。

ソリューション:機知にルートを作成する http://guides.rubyonrails.org/routing.html

2.3パスとURLヘルパー

また、アプリケーション内のコントローラにヘルパーの数を公開します。リソースの場合

:写真:

photos_path戻る/写真

new_photo_path戻る/写真/新しい

edit_photo_path(:ID)を返す/写真/:ID /編集(例えば、edit_photo_path(10)戻る/写真/ 10 /編集)

photo_path(:ID)を返す/写真/:ID(例えば、photo_path(10)戻る/写真/ 10)

これらのヘルパーには、対応する_urlヘルパー(photos_urlなど)があり、現在のホスト、ポート、およびパスの接頭辞を前に付けた同じパスが返されます。

答えて

4

構文エラーがあります。この:

<%= link to 'New User', new user path %> 

は次のようになります。

<%= link_to 'New User', new_user_path %> 

パスがレールのある 'ヘルパー'。ここから始めてください:http://guides.rubyonrails.org/routing.html

これは基本的に特定のURLを指すショートカットメソッドです。これらのURLはroutes.rbファイルで定義されています。

1
<h1>Listing users</h1> 
<table> 
<tr> 
<th>Name</th> 
<th>Email</th> 
<th></th> 
<th></th> 
<th></th> 
</tr> 
<% @users.each do |user| %> 
<tr> 
<td><%= user.name %></td> 
<td><%= user.email %></td> 
<td><%= link_to 'Show', user %></td> 
<td><%= link_to 'Edit', edit_user_path(user) %></td> 
<td><%= link_to 'Destroy', user, confirm: 'Are you sure?', 
method: :delete %></td> 
</tr> 
<% end %> 
</table> 
<br /> 
<%= link_to 'New User', new_user_path %> 

link_toパスまたはURLについては何も知らない。 のURLは次のようにRailsのルーティングヘルパーによって生成されます。

bundle exec rake routes 

  • edit_user_path()
  • new_user_path

ルートの完全なリストを表示するには、お使いの端末とタイプに行きます詳細については、routing documentationを参照してください。

関連する問題