Railsを使い始めたばかりです。「ユーザー」というモデルがあり、「リスト」がたくさんあります。ユーザーショービューで、現在のユーザーのリストを作成するためのフォームを作成しました。フォームを送信すると、次のエラーが発生します。
IDのないユーザーが見つかりませんでした
ネストされたリストフォームの設定方法に問題があると思います。
ユーザー->show.html.erb
<p id="notice"><%= notice %></p>
<p>
<b>Username:</b>
<%= @user.username %>
</p>
<p>
<b>Password:</b>
<%= @user.password %>
</p>
<p>
<b>Email:</b>
<%= @user.email %>
</p>
<h2>Add a List</h2>
<%= form_for([@user, @user.lists.build]) do |f| %>
<div class ="field">
<%= f.label :title %><br />
<%= f.text_field :title %>
</div>
<div class="field">
<%=f.label :description%><br />
<%=f.text_field :description%>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
<%= link_to 'Edit User', edit_user_path(@user) %> |
<%= link_to 'Back to Users', users_path %>
これは、リストの「作成」コントローラーアクションです。
class ListsController < ApplicationController
def create
@user = User.find(params[:id])
@list = @user.lists.create(params[:list])
redirect_to user_path(@user)
end
end
更新:UserControllerのshowメソッド
# GET /users/1
# GET /users/1.json
def show
@user = User.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @user }
end
end
更新:私のルート
resources :users do
resources :lists
end
get "home/index"
では、params [:id]はどういうわけかnilですか?私は何が欠けていますか?
ありがとう!