features_index ページの各機能について「メッセージ」を作成するためのフォームを提供しようとしています。残念ながら、「ID がないと機能が見つかりませんでした」というエラーが表示されます。
地元の人々を適切に通過させましたか?Params に feature_id がないようです! (おそらく、これは代わりに @ の時間ですか?
機能/インデックス ビュー:
- @features.each do |feature|
%tr
%td= feature.project_id
%td= feature.subject
%td= feature.details
%td= link_to 'Show', feature
%td= link_to 'Edit', edit_feature_path(feature)
%td= link_to 'Destroy', feature, :confirm => 'Are you sure?', :method => :delete
- if feature.messages.length > 0
- feature.messages.each do |message|
= render partial: "message_form", locals: {message: message}
- else
%td
= render partial: "message_form", locals: {message: Message.new(feature_id: feature)}
%br/
機能/_message_form:
= simple_form_for(message) do |f|
= f.error_notification
.form-inputs
-# = f.input :feature_id
-# = f.input :sender
-# = f.input :receiver
= f.input :subject
= f.input :details
.form-actions
= f.button :submit
およびメッセージコントローラー:
def create
@feature = Feature.find(params[:message][:feature_id])
@message = @feature.messages.build(params[:message])
respond_to do |format|
if @message.save
flash[:notice] = "Message sent!"
format.html { redirect_to @message, notice: 'Message was successfully created.' }
format.json { render json: @message, status: :created, location: @message }
else
flash[:notice] = "Message failed to send."
format.html { render action: "new" }
format.json { render json: @message.errors, status: :unprocessable_entity }
end
end
end
ありがとうございました!