Я сделал нечто подобное, в котором переключатели установили person [id], а затем я просто проверил идентификатор.
Так в моем контроллере # метод create:
if params[:person][:id]
@person = Person.find(params[:person][:id])
else
@person = Person.new(params[:person])
#Handle saving @person here.
end
Возможно, вам придется удалить параметр id
в блоке else
, если форма отправляет его, даже если ничего не выбрано.
Изменить, чтобы ответить на вопрос проверки:
В #Handle saving @person here.
вы будете делать то, что обычно делаете для создания объекта. Нравится:
if @person.save
flash[:notice] = "User created successfully"
else
render :action => 'new' # (or whatever the action is)
return
end