У меня есть это в rout.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 %>
Я получаю следующий URL с точкой:
http://localhost:3000/users/boards/hyperrjas.board-2
- hyperrjas - это user_id, который я добавил с slug: username.
- Я использую пространство имен, потому что это вложенные ресурсы и у меня есть панель для пользователей.
Мой вопрос: как мне изменить точку для косой черты / в сгенерированном URL? должен выглядеть и работать следующим образом:
http://localhost:3000/users/boards/hyperrjas/board-2