Rails5でアプリケーションを作成しています。
クライアントの一覧表示はできていますが、そこから、各クライアントの詳細を表示しようとすると(Couldn't find Client with 'id'=)が発生しエラーとなってしまいます。
原因はidが取得できていないのが原因なのはわかりますが、どのように記述すればidが取得できるのか教えていただきたいのです。コードは以下になります。
routes.rb resource :request do get :company end
requests_controller.rb def show @client = Client.find(params[:id]) end def edit @request_form = General::RequestForm.new(Request.find(1)) end
たぶんroutes.rbの記述がまちがっているのかと思います。
resource :request do を resources :requests do のようにしないとidが取得出来ないのかと思い、そのようにすると今度はeditアクションでエラーが発生してしまうのです。
試しに(params[:id])のところをClient.find(1)とするときちんと表示が出来ます。
コンソールの表示になります。 Started GET "/request" for 10.0.2.2 at 2019-06-25 23:56:17 +0900 Processing by General::RequestsController#show as HTML Parameters: {"host"=>"hunter-chan.com"} Client Load (7.6ms) SELECT `clients`.* FROM `clients` WHERE `clients`.`id` = NULL LIMIT 1 Completed 404 Not Found in 13ms (ActiveRecord: 7.6ms) ActiveRecord::RecordNotFound (Couldn't find Client with 'id'=): app/controllers/general/requests_controller.rb:9:in `show'
どのようにしたらidが取得できるのでしょうか?ご教授の程よろしくお願いします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/25 18:04