我有这个路线.rb
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"}
如果我将此链接与 2 个参数放在一起:
<% @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 http://localhost:3000/users/boards/hyperrjas.board-2
- hyperrjas 是我与 slug :username 一起放置的 user_id。
- 我使用命名空间是因为它们是嵌套资源,并且我有一个供用户使用的面板。
我的问题是:如何更改生成的网址中斜杠 / 的点?应该看起来和工作如下:
http://localhost:3000/users/boards/hyperrjas/board-2 http://localhost:3000/users/boards/hyperrjas/board-2