此时我想创建一个具有相同功能的新方法而不是更新默认方法所以我这样做,方法的名称是'updatepaso1'来自名为'editpaso1.html.erb'的文件
editpaso1.html.erb
<%= simple_form_for([@persona, @caracterizacion],
:url => url_for(:action => 'updatepaso1', :controller => 'caracterizaciones'),
:method => 'get') do |f| %>
content form
<% end %>
caracterizaciones_controller.rb
def updatepaso1
if @caracterizacion.update(caracterizacion_params)
redirect_to editpaso2_persona_caracterizacion_path(@persona, @caracterizacion), notice: 'Paso2 Finalizado Correctamente'
else
render action: 'editpaso1'
end
end
和routes.rb
resources :personas do
resources :caracterizaciones do
collection do
get :updatepaso1 # < --
get :updatepaso2
end
member do
get :editpaso1
get :editpaso2
get :editpaso3
end
end
end
如果我尝试使用默认的“更新”方法,它可以正常工作,但在这种情况下,当我使用该方法更新信息时,应用重定向此网址
http://localhost:3002/personas/2/caracterizaciones/updatepaso1
在更新信息后应重定向此信息
http://localhost:3002/personas/2/caracterizaciones/1/editpaso2
所以我认为问题是'updatepaso1'方法的路由配置
感谢您的帮助