表題の件で、質問させてください。
現状
現在、Q&Aサイトを作成しております。その中で、このテラテイルのように、答えにたいして、コメントがつくように、コメント欄を作成しています。その表示に苦労しておりますので、お力をお貸しください。
表示したいcode
question/show.html.erb
<%= render 'comments/form', answer: @answer, comment: @comment %>
_form.html.erb
<%= simple_form_for [answer, comment] do |f| %> <%= f.input :answer_id, :as => :hidden, :input_html => { :value => comment.answer_id } %> <%= f.input :body, autofocus: true %> <%= f.submit 'コメント作成', class: "btn btn-primary" %> <% end %>
questions_controller.rb
※投稿された質問に対して、特定のadviserからの回答がつくようにしており、その回答に対してコメントがつくようにしたいと考えています。従って、回答が存在している場合にのみ、コメント欄が表示されるようにしたいです。
そこで、@answerにidがある場合の処理と、@answerを作成していない場合の処理を分けています。
def show if @answer @answer = @question.answer.find(params[:id]) @answer.question_id = @question.id @comment = Comment.new @comment.answer_id = @answer.id else @answer = Answer.new end end
Answer Model
class Answer < ApplicationRecord has_many :comments, dependent: :destroy end
Comment Model
class Comment < ApplicationRecord belongs_to :answer end
上記にようにしたところ、以下のようなエラーが出ます。
現在、どこをどう変更すれば良いか検討がつきません。教えていただければ幸いです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/29 09:16