私はRails 3でフォームウィザードを使用しています。基本的にホテルオブジェクトを作成し、そのすべてが完了したらその場所オブジェクトを作成しますホテル。レール3:インスタンス変数はリダイレクト後に利用できません
def create
@hotel = Hotel.new(params[:hotel])
respond_to do |format|
if @hotel.save
@location = Location.new
format.html { redirect_to '/set_location'}
else
format.html { render action: "new" }
end
end
end
次に、 '/ set_location'ページには、場所を設定するフォームがあります。しかし、@locationインスタンス変数のhtml.erbに'undefined method model_name for NilClass:Class'
というエラーが表示されています。
これは、redirect_toの代わりにレンダリング '/ set_location'を使用したときと同じように、本当に変です。しかし、レコードの重複を避けるためにredirect_toメソッドを使用したいと思います。
ありがとうございました。
重複エラー提出は何ですか? redirect_toは別のコントローラアクションにリダイレクトします。そこにインスタンス変数が設定されていなければ、失敗します。 – shime
その_record_ submissionが重複しています - 基本的にデータベースにデータが重複しています。それは、私が別のコントローラアクションを実行すると、コントローラの1つのアクションでインスタンス変数が失われることを意味しますか?これらのアクションの間に変数を渡す方法はありますか?多分セッションに入れる?悪い練習なし? – Ger