Я пытаюсь получить эту ссылку:
<%= link_to('Edit', :action => 'manage', :id => user) %>
даже пытался явно <% = link_to ('Edit', {: controller => 'users',: action => 'manage',: id => user},: method =>: get)%>
чтобы показать ссылку в HTML как
'/users/manage/1' or '/users/1/manage'
но он отображается как
'/users/manage?id=1'
Я вижу по своим маршрутам:
manage_users GET /users/manage(.:format) {:action=>"manage", :controller=>"users"}
...
edit_user GET /users/:id/edit(.:format) {:action=>"edit", :controller=>"users"}
поэтому я добавил map.connect , но он был добавлен к пользователям
users GET /users/manage/:id(.:format) {:action=>"manage", :controller=>"users"}
но безуспешно. Ссылка все еще '/ users / manage? Id = 1'
Это не работает больше, чем выше.
GET /users/:id/manage(.:format) {:action=>"manage", :controller=>"users"}
Теперь, когда я помещаю действие: в link_to, чтобы «редактировать», т.е.
<%= link_to('Edit', :action => 'edit', :id => user) %>
rout.rb edit_user GET /users/:id/edit/(.:format) работает, со ссылкой, показывающей
'/users/1/edit'
Как мне заставить мою ссылку для показа той же ссылки, когда она «управлять» вместо «редактировать», то есть отображать ссылку «пользователи / 1 / управление» вместо ' / пользователей / управлять? ID = 1' ??? Это потому, что мой map.connect добавлен к пользователям , когда его нужно добавить к manage_users * ?
Спасибо за помощь. Я буду пытаться понять это.
Мир.
Кстати, / users / manage? Id = 1 работает, я просто хочу, чтобы щелкала нужная ссылка для перезаписи.
РЕДАКТИРОВАТЬ rout.rb
map.resources :users, :collection => {:manage => :get}
#map.manage_user '/users/:id/manage', :controller => :users, :action => :manage
#map.resources :users, :member => { :manage => :get }
#map.connect 'users/manage/:id(.:format)', :controller => 'users', :action => 'manage', :conditions => { :method => :get }
map.resources :categories
map.resources :posts
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'