前提・実現したいこと
仕事効率化アプリを作成しており、仕事情報を登録して一覧画面に表示をしたい。
しかし、データーベースには保存されているが、一覧画面には表示されずエラーが出た。
まだ初心者なのでコードの書き方も綺麗ではないですがよろしくお願いします。
発生している問題・エラーメッセージ
ActionView::MissingTemplate in Works#index Showing /Users/yoshidanorishou/projects/rakuyan/app/views/works/_main_chat.html.erb where line #15 raised: Missing partial works/_work, application/_work with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:raw, :erb, :html, :builder, :ruby, :jbuilder]}. Searched in: * "/Users/yoshidanorishou/projects/rakuyan/app/views" * "/Users/yoshidanorishou/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/devise-4.8.0/app/views" * "/Users/yoshidanorishou/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/actiontext-6.0.4.1/app/views" * "/Users/yoshidanorishou/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/actionmailbox-6.0.4.1/app/views" Extracted source (around line #15): 13 14 15 16 <div class="messages"> <%= render partial: 'work', collection: @works %> </div> Trace of template inclusion: #<ActionView::Template app/views/works/index.html.erb locals=[]> Rails.root: /Users/yoshidanorishou/projects/rakuyan Application Trace | Framework Trace | Full Trace app/views/works/_main_chat.html.erb:15 app/views/works/index.html.erb:6
該当のソースコード
ruby
1_message.html.erb 2div class="message"> 3 <div class="upper-message"> 4 <div class="message-user"> 5 <!-- 投稿したユーザー名情報を出力する --> 6 <%= work.calendar_name %> 7 </div> 8 </div> 9</div>
ruby
1works_controller.rb 2class WorksController < ApplicationController 3 def index 4 @works = Work.all 5 end 6 7 def new 8 @work = Work.new 9 end 10 11 def create 12 @work = Work.new(work_params) 13 if @work.save 14 redirect_to works_path 15 else 16 render :new 17 end 18 end 19 20 private 21 22 def work_params 23 params.permit(:cliant_name, :job_description, :calendar, :work_place, :price).merge(user_id: current_user.id) 24 end 25end
ruby
1index.html.erb 2<div class="wrapper"> 3 <div class="side-bar"> 4 <%= render "side_bar" %> 5 </div> 6 <div class="chat"> 7 <%= render "main_chat" %> 8 </div> 9</div>
ruby
1_main_chat.html.erb 2<div class="messages"> 3 <%= render partial: 'work', collection: @works %> 4</div> 5
ruby
1routes.rb 2Rails.application.routes.draw do 3 devise_for :users 4 root to: "users#index" 5 resources :users, only: [:index,:edit, :update] 6 resources :works, only: [:index, :new, :create] 7end
試したこと
おそらく部分テンプレートの呼び出しで何か問題が起きていると思う。
補足情報(FW/ツールのバージョンなど)
ruby '2.6.5'
rails 6.0.0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/16 14:13