現在、さまざまなRailsチュートリアルを進めていますが、エラーが発生したフォームを出力するにはレンダリングを使用することをお勧めします。たとえば、作成方法は次のようになります。Ruby on Railsで失敗したフォーム提出のURLを保持する
def create
@user = User.new(params[:user])
if @user.save
flash[:success] = "Welcome to the Sample App"
redirect_to @user
else
@title = "Sign up"
render 'new'
end
end
これは、所望の効果を持っていますが、私はhttp://localhost:3000/users/newで新しいユーザーフォームを持っているとエラーが発生した場合、私はhttp://localhost:3000/users
でエラーが発生した同じフォームを得ることを意味代わりにhttp://localhost:3000/users/newに行くように確認する方法はありますか?
レンダリング 'new'の代わりにリダイレクトを使うことを考えましたが、これはフォームエラーの表示に問題を引き起こします。 RailsのIRCの誰かが私にクライアント側検証の方法を指示しましたが、それは問題を避けているようです。
正直なところ、この動作が問題であるとは思われません。 – Wukerplank
私はそれが私のものだと確信していますが、それはちょうど正しいように見えません。起こりそうもない仮説的なシナリオですが、「誰かが私にこのページではすべきではないエラーが表示されます」というメールを私に送ってURLをコピーして貼り付けた場合、どうなりますか? – RobL