3
我有這樣的routes.rb中點與命名空間URL路徑軌3.1
root :to => "posts#index"
devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }
resources :users, :only => :show
resources :boards
resources :posts do
resources :comments
end
namespace :users do
resources :posts do
get :posts, :on => :member
end
resources :boards do
get :boards, :on => :member
end
end
耙路線:
boards_users_board GET /users/boards/:id/boards(.:format) {:action=>"boards", :controller=>"users/boards"}
users_boards GET /users/boards(.:format) {:action=>"index", :controller=>"users/boards"}
POST /users/boards(.:format) {:action=>"create", :controller=>"users/boards"}
new_users_board GET /users/boards/new(.:format) {:action=>"new", :controller=>"users/boards"}
edit_users_board GET /users/boards/:id/edit(.:format) {:action=>"edit", :controller=>"users/boards"}
users_board GET /users/boards/:id(.:format) {:action=>"show", :controller=>"users/boards"}
如果我把這個鏈接有兩個參數:
<% @posts.each do |post| %>
<%= link_to post.board.name, users_board_path(post.user, post.board) %>
<% end %>
我用點獲得下一個網址:
http://localhost:3000/users/boards/hyperrjas.board-2
- hyperrjas的是,我已經把與塞的USER_ID:用戶名。
- 我使用命名空間,因爲是嵌套的資源,我有一個用戶面板。
我的問題是:我如何更改斜槓/在我生成的網址點?的外觀和工作如下:
http://localhost:3000/users/boards/hyperrjas/board-2
感謝您的回覆,我不明白你想要我什麼,你可以指定多一點?謝謝 – hyperrjas 2012-01-10 17:52:44
我不確定是否應該使用'namespace'。你應該在那裏使用嵌套資源。 (我會張貼另一個答案) – Hock 2012-01-10 17:56:14
謝謝,資源工作正常,但如果我使用資源的控制器**板**,我想與控制器**用戶/板**工作。這是我的問題如果我使用控制器**主板工作資源**,並且想要使用控制器**用戶/主板** – hyperrjas 2012-01-10 18:31:18