1

Я пытаюсь сделать несколько простых простейших маршрутов в Rails 3 с двумя пользовательскими состязаниями, которые предполагают корень: id будет городом и: city_id /: id будет местом ... он работает отлично, если не пытаться редактировать.псевдо-сложные маршруты в рельсах 3

Т.е.

root_url/countries/france 
root_url/paris/some_place 
root_url/paris 

Вот мой код, а точнее.

Это, кажется, отлично подходит, когда я пытаюсь редактировать записи. HTML, как показано ниже:

<% form_for @city do |f| %> 
<% end %> 

Производит:

<form accept-charset="UTF-8" action="/kiev" class="edit_city" id="edit_city_3581" method="post"> 

Какой будет работать только тогда, когда это было:

<form accept-charset="UTF-8" action="/cities/kiev" class="edit_city" id="edit_city_3581" method="post"> 

Я знаю, что я мог бы просто обеспечить более продвинутый form_for маршрут явно обойти это, но мне интересно, есть ли что-то лучше на моих маршрутах.rb, чтобы сделать мою жизнь проще, чем исправлять?

Благодаря

ответ

1

Как насчет если вы переименовали свои собственные маршруты, как это и пусть нормальные маршруты обрабатывать редактировать и т.д.

get ':id' => 'cities#show', :as => :city_shortcut 
get ':city_id/:id' => 'places#show', :as => :city_place_shortcut 
+0

Я думал об этом, и это может быть путь. Мне просто интересно, лучше ли это или переименовать form_for маршруты. Если я использую: city_shortcut, мне придется изменить все link_to и т. Д. Vs form_for. Я ищу плюсы и минусы. – holden

+1

Я бы сохранил поведение по умолчанию для ресурсов и только модифицировал биты и куски, необходимые для этого пользовательского улучшения. В противном случае все становится обычным и труднее следовать. – Heikki

Смежные вопросы