0

コード全体はこの質問からのものです: Nested form validations not working in rails app

検証は機能しますが、問題は error_message にあります。それは単に現れていません。

コントローラーの redirect_to が原因で機能しないことがわかりました。

class MessagesController < ApplicationController

  def create
    @trip = Trip.find(params[:trip_id])
    @message = @trip.messages.create(params[:message])     
  if @trip.messages.create
    MessageMailer.send_message(@message).deliver
    redirect_to thank_you_path        
  else    
    redirect_to trip_path(@trip)
  end
 end
end 

そして、代わりにレンダリングを使用する必要があります。しかし、問題はどのようにですか?

このメッセージ フォームは別のモデルの表示ページ内にあり、メッセージが検証に合格しない場合は、同じ表示ページにエラー メッセージを表示したいと考えています。

手伝ってくれますか ?ありがとう!

アップデート:

レーキルート

     messages GET    /messages(.:format)                         {:action=>"
 index", :controller=>"messages"}
             POST   /messages(.:format)                         {:action=>"
 create", :controller=>"messages"}
  new_message GET    /messages/new(.:format)                     {:action=>"
 new", :controller=>"messages"}
  edit_message GET    /messages/:id/edit(.:format)                {:action=>"
 edit", :controller=>"messages"}
     message GET    /messages/:id(.:format)                     {:action=>"
 show", :controller=>"messages"}
              PUT    /messages/:id(.:format)                     {:action=>"
 update", :controller=>"messages"}
              DELETE /messages/:id(.:format)                     {:action=>"
 destroy", :controller=>"messages"}
 trip_messages GET    /trips/:trip_id/messages(.:format)          {:action=>"
 index", :controller=>"messages"}
              POST   /trips/:trip_id/messages(.:format)          {:action=>"
 create", :controller=>"messages"}
 new_trip_message GET    /trips/:trip_id/messages/new(.:format)      {:action=>"
 new", :controller=>"messages"}
 edit_trip_message GET    /trips/:trip_id/messages/:id/edit(.:format) {:action=>"
 edit", :controller=>"messages"}
 trip_message GET    /trips/:trip_id/messages/:id(.:format)      {:action=>"
 show", :controller=>"messages"}
              PUT    /trips/:trip_id/messages/:id(.:format)      {:action=>"
 update", :controller=>"messages"}
              DELETE /trips/:trip_id/messages/:id(.:format)      {:action=>"
 destroy", :controller=>"messages"} 
4

2 に答える 2