ユーザーのインデックスページから、(link_toタグを使用して)ユーザーの詳細ページを開き、エラーメッセージを表示したい{:action => "show"、コントローラ:=> "users"、:id => nil}必要なキーがありません:[:id]link_to user_path(@user)not opening page
url .../users/id(users/1など)を入力すると正しいページが表示されます。 link_toタグの多くの選択肢を試しました。それは何でしょうか?
これは、関連するコードです:私のコントローラで
<ol class="list-group">
<% @users.each do |user| %>
<li class="list-group-item clearfix">
<h3 class="pull-right"><small class="text-uppercase">created </small><%= user.created_at.to_time %></h3>
<h2 class="h3"><%= user.first_name %> <%= user.last_name %><small> <%= user.username %></small></h2>
<%= link_to "details", user_path(@user), class: "pull-right" %>
<h4><%= user.email %></h4>
</li>
<% end %>
</ol>
私が持っている:
def show
@user = User.find(params[:id])
end
そしてroute.rb:あなたのコードでresources :users
なぜ余分なループを実行すると、オブジェクトから単一のデータを抽出するのですか? – vipin
@vipin:余分なループが何を意味するかわからない。インデックスページで1つのループを実行して、すべてのユーザーをリストアップしています(それぞれlist-group-item内にあります)。その後、個々のユーザーの開いているユーザーの詳細ページから。 –
上記はshow.html.erbです – vipin