У меня есть форма, которая отображается по-разному в зависимости от параметра, с которым она была вызвана.
Ex.
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