Вы действительно видите URL для «обновления», путь для редактирования по умолчанию будет /posts/1/edit
.Я не думаю, что вы сможете изменить то, что отображает URL, используя render :action
.Альтернативным, хотя и несколько небрежным, методом будет перенаправление и сохранение объекта @post в сеансе или во флэш-памяти.Если вы не сохраните объект @post, вы потеряете сообщения об ошибках при обновлении.
if @post.update_attributes(params[:post])
#business as usual
else
session[:post] = @post
redirect_to post_edit(@post)
end
Обратите внимание, что сохранять весь объект в сеансе (особенно большие объекты) - это плохая практика, поэтомувместо этого вы можете отправить только строку сообщения об ошибке со вспышкой и отобразить ее в представлении.Это довольно хакерские методы, но я не вижу элегантного способа сделать это.
Из любопытства, почему вы хотите изменить URL-адрес по умолчанию?Это необходимо?