Использование этого кода для моего действия по редактированию и обновлению ниже.У меня 2 проблемы
Как узнать, какая форма была отправлена (основы, фотографии, интересы или детали?)
У меня есть настройкаvalidates_presence_of всех полей профиля, но эта форма используется в общем для обоих действий контроллера (поэтому не каждый атрибут совпадает с обоими), и я получаю ошибки.
Как я могу это исправить?
def edit
def sub_layout
"left"
end
@profile = Profile.find params[:id]
#authorize! :update, @profile
what = params[:what]
if ["basics", "location", "details", "photos", "interests"].member?(what)
render :action => "edit_#{what}"
else
render :action => "edit_basics"
end
end
def update
@profile = Profile.find(params[:id])
respond_to do |format|
if @profile.update_attributes(params[:profile])
format.html { redirect_to @profile, notice: 'Profile was successfully updated.' }
else
format.html {
#there was an error,
#redirect to the correct "what" form /edit/basics for example
# what is empty how to get the value or a better way for this?
what = params[:what]
render :action => "edit_#{what}"
}
end
end
end