We're sorry, but something went wrong.でハマりました。
解決したいこと
会社で日々の日報投稿アプリをrailsで作成したのですが、herokuにデプロイしたところ、
それぞれの投稿の詳細が見れなくなってしまいましたので、見れるようにしたいです。
現在添付の画像の通り、トップページ・ユーザー詳細に関しては見れる状態です。
ただ、投稿の詳細をクリックすると『We're sorry, but something went wrong.』のエラーが出ます。
発生している問題・エラー(heroku logs --tail)※ローカル環境では正常作動です。
2021-07-16T01:08:27.510149+00:00 app[web.1]: [4052942a-d2f8-49f4-a3c9-2fc57f9a7323] ActionView::Template::Error (undefined method `text6' for #<Prototype:0x000055f04b4ff740>
2021-07-16T01:08:27.510150+00:00 app[web.1]: Did you mean? text5
2021-07-16T01:08:27.510150+00:00 app[web.1]: text4
2021-07-16T01:08:27.510151+00:00 app[web.1]: text2
2021-07-16T01:08:27.510151+00:00 app[web.1]: text3
2021-07-16T01:08:27.510151+00:00 app[web.1]: text1
2021-07-16T01:08:27.510152+00:00 app[web.1]: text5?
2021-07-16T01:08:27.510152+00:00 app[web.1]: text5=
2021-07-16T01:08:27.510153+00:00 app[web.1]: text4?
2021-07-16T01:08:27.510153+00:00 app[web.1]: text4=
2021-07-16T01:08:27.510154+00:00 app[web.1]: text3?
2021-07-16T01:08:27.510154+00:00 app[web.1]: text3=
2021-07-16T01:08:27.510155+00:00 app[web.1]: text2?
2021-07-16T01:08:27.510155+00:00 app[web.1]: text2=
2021-07-16T01:08:27.510155+00:00 app[web.1]: text1?
2021-07-16T01:08:27.510156+00:00 app[web.1]: text1=):
2021-07-16T01:08:27.510156+00:00 app[web.1]: [4052942a-d2f8-49f4-a3c9-2fc57f9a7323] 60: <div class="prototype__detail">
2021-07-16T01:08:27.510157+00:00 app[web.1]: [4052942a-d2f8-49f4-a3c9-2fc57f9a7323] 61: <p class="detail__title">本日の取り組み振り返り</p>
2021-07-16T01:08:27.510157+00:00 app[web.1]: [4052942a-d2f8-49f4-a3c9-2fc57f9a7323] 62: <p class="detail__message">
2021-07-16T01:08:27.510158+00:00 app[web.1]: [4052942a-d2f8-49f4-a3c9-2fc57f9a7323] 63: <%= @prototype.text6 %>
2021-07-16T01:08:27.510158+00:00 app[web.1]: [4052942a-d2f8-49f4-a3c9-2fc57f9a7323] 64: </p>
2021-07-16T01:08:27.510159+00:00 app[web.1]: [4052942a-d2f8-49f4-a3c9-2fc57f9a7323] 65: </div>
2021-07-16T01:08:27.510159+00:00 app[web.1]: [4052942a-d2f8-49f4-a3c9-2fc57f9a7323] 66: </div>
2021-07-16T01:08:27.510159+00:00 app[web.1]: [4052942a-d2f8-49f4-a3c9-2fc57f9a7323]
2021-07-16T01:08:27.510160+00:00 app[web.1]: [4052942a-d2f8-49f4-a3c9-2fc57f9a7323] app/views/prototypes/show.html.erb:63
app/views/prototypes/_form.html.erb
<%= form_with model:prototype, class: 'form', local: true do |f| %>
<div class="field">
<%= f.label :title, "投稿日" %><br />
<%= f.date_field :date %>
</div>
<div class="field">
<%= f.label :catch_copy, "今月の目標と目的" %><br />
<%= f.text_area :thema,:placeholder => "(例)それぞれ定めた今月の目標をここに毎回入力する。", class: :form__text_1 %>
</div>
<div class="koumoku">
<%= "【本日の行動計画】" %><br />
</div>
<div class="field">
<%= f.label :concept, "本日の重点課題と徹底する取り組み" %><br />
<%= f.text_area :text1, :placeholder => "(例)本日は、スピアカフェのPVの撮影が終わったのでその動画編集をメインに、nutsのフィード投稿の編集を3投稿分実施。", class: :form__text %>
</div>
<div class="field">
<%= f.label :concept, "本日の徹底する取り組みの目的" %><br />
<%= f.text_area :text2, :placeholder => "(例)動画編集:YouTubeを検索しチャンネルに訪問してくれた方へのCM動画(自動再生される動画)として投稿し、
より新規顧客獲得・オンラインサロン誘導に貢献するため。
フィード投稿編集:なおさんに指示された内容を反映させながら、提案・修正案があればそれも反映させつつ、⚪︎月⚪︎日分の投稿分が必要なため実施する。", class: :form__text %>
</div>
<div class="field">
<%= f.label :concept, "チーム全体の理念浸透➡成長・成果に繋げる取り組み" %><br />
<%= f.text_area :text3,:placeholder => "(例)朝のMTでメンバーそれぞれの成功に対しての考えや意識の面が明確になり、
メンバーそれぞれが、自分のタスクに関してどういう思いで向かい合ってるのかを考え仕事しているのが伝わっているので、
それに対して自分はどうバックアップできるのか考え行動する。", class: :form__text %>
</div>
<div class="field">
<%= f.label :concept, "本日の行動指針に沿った取り組み" %><br />
<%= f.text_area :text4, :placeholder => "(例)特に成長に関して意識して業務に当たる。
朝早くにnutsに来て、業務時間ではできない読書をした。業務時間では、メンバーの業務に関して少しでもサポートできる部分はできるようにする。", class: :form__text %>
</div>
<div class="koumoku">
<%= "【成果報告】" %><br />
</div>
<div class="field">
<%= f.label :concept, "本日成長した点(チームの状況)" %><br />
<%= f.text_area :text5, :placeholder => "(例)〇〇さんから教えて頂いた〇〇を即実践できたことが成長した点です。また前回〇〇だったのが〇〇になることができました!", class: :form__text %>
</div>
<div class="field">
<%= f.label :concept, "本日の取り組み振り返り" %><br />
<%= f.text_area :text6, :placeholder => "(例)本日は、動画編集と画像編集がメインだったが、効率化を図った上で早い時間で完成させ、他メンバーのタスクを協力することができた。", class: :form__text %>
</div>
<div class="actions">
<%= f.submit "保存する", class: :form__btn %>
</div>
<% end %>
app/views/prototypes/show.html.erb
<main class="main">
<div class="inner">
<div class="prototype__wrapper">
<p class="prototype__hedding">
<%= @prototype.date %>
</p>
<%= link_to "by #{@prototype.user.name}","/users/#{@prototype.user.id}", class: :prototype__user %>
<% if user_signed_in? && current_user.id == @prototype.user_id %>
<div class="prototype__manage">
<%= link_to "編集する", edit_prototype_path(@prototype), class: :prototype__btn %>
<%= link_to "削除する", prototype_path(@prototype), method: :delete, class: :prototype__btn %>
</div>
<% end %>
<div class="prototype__body">
<div class="prototype__detail">
<p class="detail__title">今月の目標と目的</p>
<p class="detail__message">
<%= @prototype.thema %>
</p>
</div>
<div class="koumoku">
<%= "【本日の行動計画】" %><br />
</div>
<div class="prototype__detail">
<p class="detail__title">本日の重点課題と徹底する取り組み</p>
<p class="detail__message">
<%= @prototype.text1 %>
</p>
</div>
<div class="prototype__detail">
<p class="detail__title">本日の徹底する取り組みの目的</p>
<p class="detail__message">
<%= @prototype.text2 %>
</p>
</div>
<div class="prototype__detail">
<p class="detail__title">チーム全体の理念浸透➡成長・成果に繋げる取り組み</p>
<p class="detail__message">
<%= @prototype.text3 %>
</p>
</div>
<div class="prototype__detail">
<p class="detail__title">本日の行動指針に沿った取り組み</p>
<p class="detail__message">
<%= @prototype.text4 %>
</p>
</div>
<div class="koumoku">
<%= "【成果報告】" %><br />
</div>
<div class="prototype__detail">
<p class="detail__title">本日成長した点(チームの状況)</p>
<p class="detail__message">
<%= @prototype.text5 %>
</p>
</div>
<div class="prototype__detail">
<p class="detail__title">本日の取り組み振り返り</p>
<p class="detail__message">
<%= @prototype.text6 %>
</p>
</div>
</div>
<div class="prototype__comments">
<% if user_signed_in? %>
<%= form_with(model: [@prototype, @comment], local: true) do |f|%>
<div class="field">
<%= f.label :text, "コメント" %><br />
<%= f.text_field :text %>
</div>
<div class="actions">
<%= f.submit "送信する", class: :form__btn %>
</div>
<% end %>
<% end %>
<ul class="comments_lists">
<% if @comments %>
<% @comments.each do |comment| %>
<li class="comments_list">
<%= comment.text %>
<%= link_to "(#{comment.user.name})", "/users/#{comment.user.id}", class: :comment_user %>
<%= link_to "削除", prototype_comment_path(@prototype,comment), method: :delete %>
<% end %>
<% end %>
</li>
</ul>
</div>
</div>
</div>
</main>
app/controllers/prototypes_controller.rb
class PrototypesController < ApplicationController
before_action :authenticate_user!, only: [:new,:edit,:destroy]
# only ログインしてないと入れないページを指定
def index
@prototypes = Prototype.all.order(id: "DESC")
end
def new
@prototype = Prototype.new
end
def create
@prototype = Prototype.new(prototype_params)
if @prototype.save
redirect_to root_path
else
render :new
end
end
def show
#5人のメンバーはそれぞれの投稿は見れない。投稿しない社長・副社長に関しては5人のメンバー全員の投稿を見れる。
@prototype = Prototype.find(params[:id])
if current_user.id == @prototype.user.id || current_user.position == '代表取締役社長' || current_user.position == '代表取締役副社長' || (current_user.position == 'マネージャー1' && @prototype.user.name == ' 田中 利奈' ) || (current_user.position == 'マネージャー2' && @prototype.user.name == '堀田 惇貴' )
@comment = Comment.new
@comments = @prototype.comments.includes(:user)
else
redirect_to user_path(params[:user_id])
end
end
def edit
@prototype = Prototype.find(params[:id])
unless @prototype.user_id == current_user.id
redirect_to action: :index
end
end
def update
@prototype = Prototype.find(params[:id])
if @prototype.update(prototype_params)
redirect_to prototype_path
else
render :edit
end
end
def destroy
prototype = Prototype.find(params[:id])
prototype.destroy
redirect_to root_path
end
private
def prototype_params
params.require(:prototype).permit(:date, :thema, :text1,:text2,:text3,:text4,:text5,:text6).merge(user_id: current_user.id)
end
end
app/models/prototype.rb
class Prototype < ApplicationRecord
belongs_to :user
has_many :comments, dependent: :destroy
has_one_attached :image
validates :date, presence: true
validates :thema, presence: true
validates :text1, presence: true
validates :text2, presence: true
validates :text3, presence: true
validates :text4, presence: true
validates :text5, presence: true
validates :text6, presence: true
end
db/migrate/20210107065142_create_prototypes.rb
class CreatePrototypes < ActiveRecord::Migration[6.0]
def change
create_table :prototypes do |t|
t.string :title, null: false
t.text :catch_copy, null: false
t.text :concept, null: false
t.references :user
t.timestamps
end
end
end
db/migrate/20210518135619_remove_title_and_catch_copy_and_concept_from_prototypes.rb
class RemoveTitleAndCatchCopyAndConceptFromPrototypes < ActiveRecord::Migration[6.0]
def change
remove_column :prototypes, :title, :string, null: false
remove_column :prototypes, :catch_copy, :text, null: false
remove_column :prototypes, :concept, :text, null: false
end
end
db/migrate/20210518135706_add_date_and_thema_and_text1_and_text2_and_text3_and_text4_and_text5_to_prototypes.rb
class AddDateAndThemaAndText1AndText2AndText3AndText4AndText5ToPrototypes < ActiveRecord::Migration[6.0]
def change
add_column :prototypes, :date, :date, null: false
add_column :prototypes, :thema, :text, null: false
add_column :prototypes, :text1, :text, null: false
add_column :prototypes, :text2, :text, null: false
add_column :prototypes, :text3, :text, null: false
add_column :prototypes, :text4, :text, null: false
add_column :prototypes, :text5, :text, null: false
add_column :prototypes, :text6, :text, null: false
end
end
自分で試したこと
元々カラムがtext5までしかなかったため、ロールバックしてtext6を追加してマイグレイトしました。
その後、『git push heroku master』し、『heroku run rails db:migrate』して、確認したところエラーになりました。
エラー内容しては、『ActionView::Template::Error (undefined method `text6' for #Prototype:0x000055f04b4ff740』
ということなのですが、具体的な解決方法が調べてもわかりませんでした。
よろしくお願い致します。
0