次のようなものがあるとします。
def new
@user = User.new
end
def create
@user = User.create(params[:user])
if @user.save
flash[:notice] = 'User created'
redirect_to :action => 'list'
else
flash[:error] = 'Some error here!'
render 'new'
end
end
コードはわかりやすいと思います。
ここでの問題は、@user
オブジェクトが正常に保存されない場合、(上記のように) レンダリングするか new
、リダイレクトする必要があるかということです。new
ユーザーによるデータ入力へのリダイレクトnew
が失われるかどうかはわかっていますが、レンダリングするnew
と、URL は/users/create
代わりになります/users/new
(これは見苦しいです!)。