此时我正在尝试从更新操作中了解当前操作和控制器的内容,并根据具体情况重定向特定文件
def editpaso1
end
def editpaso2
end
def editpaso3
end
def create
@caracterizacion = Caracterizacion.new(caracterizacion_params)
if @caracterizacion.save
redirect_to editpaso1_persona_caracterizacion_path(@persona, @caracterizacion), notice: 'Paso1 Finalizado Correctamente'
else
render action: 'new'
end
end
def update
if @caracterizacion.update(caracterizacion_params)
if controller_name.to_s == 'caracterizaciones' && action_name.to_s == 'editpaso1'
redirect_to editpaso2_persona_caracterizacion_path(@persona, @caracterizacion), notice: 'Paso2 Finalizado Correctamente'
elsif controller_name.to_s == 'caracterizaciones' && action_name.to_s == 'editpaso2'
redirect_to editpaso3_persona_caracterizacion_path(@persona, @caracterizacion), notice: 'Paso3 Finalizado Correctamente'
elsif controller_name.to_s == 'caracterizaciones' && action_name.to_s == 'editpaso3'
redirect_to @caracterizacion, notice: 'Caracterizacion was successfully updated.'
end
else
if controller_name.to_s == 'caracterizaciones' && action_name.to_s == 'editpaso1'
render action: 'editpaso1'
elsif controller_name.to_s == 'caracterizaciones' && action_name.to_s == 'editpaso2'
render action: 'editpaso2'
elsif controller_name.to_s == 'caracterizaciones' && action_name.to_s == 'editpaso3'
render action: 'editpaso3'
end
end
end
正如你所看到的,首先创建重定向到editpaso1,这工作正常,但问题是当应用程序尝试重定向到editpaso2时因为出现此错误
Missing template caracterizaciones/update, application/update with...
并重定向到此网址
http://localhost:3000/personas/3/caracterizaciones/12
但应该重定向到这个
http://localhost:3000/personas/3/caracterizaciones/12/editpaso2
所以我认为问题在于验证当前的行动
这样我就有了其他文件
resources :personas do
resources :caracterizaciones do
member do
get :editpaso1
get :editpaso2
get :editpaso3
end
end
end
并且所有编辑的文件都使用更新操作,我这样做是因为该表有126个字段
抱歉我的英语,不是我的母语感谢您的帮助