呼び出されたパラメーターに応じて表示が異なるフォームがあります。
元。
testsite.local/users/new?type=client
したがって、またはの場合、フォームtype
には異なるフィールドが表示されます。a
b
私の問題は、ユーザーが正しく保存されなかった場合、デフォルトのエラーメッセージでフォームをレンダリングするだけでなく、私のパラメーターなしでフォームをレンダリングするため、フォームが正しく入力されていない場合です。
testsite.local/users/new
アクションを呼び出して、render
このパラメーターに設定されているものを渡すにはどうすればよいですか? フォームを適切に送信できなかった理由と、それが正しいフォームである理由に関する組み込みのエラーメッセージを引き続き保持できるようにするには?
これが私のcreate
行動です:
def create
@user = User.new(params[:user])
roles = params[:user][:assigned_roles]
if @user.save
update_user_roles(@user,roles)
if current_user.is_admin_or_root?
flash[:message] = "User \"#{@user.username}\" created."
redirect_to users_path
else
flash[:message] = "Congrats! You're now registered!"
redirect_to app_path
end
else
render :action => 'new'
end
end