我試圖讓這個鏈接:紅寶石和航線的link_to,自定義:動作路線問題
<%= link_to('Edit', :action => 'manage', :id => user) %>
甚至試圖明確<%=的link_to( '編輯',{:控制器=> '用戶', :動作=> '管理',:ID =>用戶}:方法=>:獲得)%>
顯示爲
'/users/manage/1' or '/users/1/manage'
在HTML鏈接,但它顯示爲
'/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) %>
的的routes.rb edit_user GET /users/:id/edit/(.:format)作品,一個鏈接顯示的
'/users/1/edit'
了我如何得到我的link_to顯示當它被「管理」,而不是「編輯」顯示「用戶的鏈接相同的鏈接,即s/1 /管理'而不是'/ users/manage?id = 1' ???是否因爲我的map.connect正被添加到的用戶,何時應該添加到'manage_users'?
感謝您的幫助。我會試圖弄清楚。
和平。
順便說一句,/用戶/管理?ID = 1的作品,我只是想正確的重寫鏈接點擊。
編輯的routes.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'
我增加了一個圖來獲得獲得manage_user而不是用戶部分:** map.resources:用戶:成員=> {:管理= >:get} ** give ** manage_user GET /users/:id/manage(.:format){:action =>「manage」,:controller =>「users」} **但仍然是相同的'manage?id = 1'鏈接。將嘗試你的建議。 – KrNel 2010-06-28 18:03:39
WOOPS。忘記了你的帖子的第二部分,link_to。有用!謝謝!!!!嗯...非常複雜的東西eheheheh – KrNel 2010-06-28 18:11:35
** <%= link_to('Edit',manage_user_path(:id => user))%> ** +其他(** map.resources:users,:member => {管理=>:獲得** **或** map.manage_user'/ users /:id/manage',:controller =>:users,:action =>:manage **)= **'/ users/1/manage 「**。再次感謝Nikita。 – KrNel 2010-06-28 18:14:06