初めまして。
初歩的な質問ですが教えていただきたいことがあります。
状況
簡単な説明ですがさせていただきます。
クラス
content → message
1 対 N の関係を作成してます。
現状だとmessage/1..Nといったようにパラメーターごとのメッセージボックスに入れる状態で、そのページ内にcreate_formを作成してます。
希望としてはcontentに紐づいたメッセージを作成したいのですが、content_idを取得できていない状態です。
もしお分かりになるようであればアドバイスをいただきたいと思います。
よろしくお願いいたします。
controller
def show
@content = Content.find(params[:id])
@message = Message.new
@messages = Message.where(content_id: @content.id)
end
.find_by(id: @content.id)
select ... where id = @content.id
def create
@content = Content.where(content_id: @content.id)
@message = @content.messages.build(message_params)
if @message.save
redirect_back(fallback_location: @content)
else
render "/contents/show"
end
end
**showアクションの中にcreateアクションがある
**Content.find(params[:id])
nilclassとなる
**Content.find_by(params[:id])
content_id 1しか取得できない
view
<%= form_for(@message) do |f| %>
<%= f.label :喋ってみよう %>
<%= f.text_area :talk, class: 'form-control'%>
<%= f.submit "送信", class: "btn btn-success btn-sm" %>
<% end %>
routes
post "/created", to:"messages#create"
上記がコードとなります。