Как префикс контроллера с именем пользователя? - PullRequest
0 голосов
/ 23 ноября 2010

У меня возникли некоторые проблемы с новой маршрутизацией в Rails 3. Каков наилучший способ префикса пути к имени пользователя.Прямо сейчас у меня есть следующий код:

resources :links, :path => '/:username' do
  put 'star', :on => :member
end

Но он оставляет параметры пустыми.

РЕДАКТИРОВАТЬ:

Я хотел бы иметь URL-адреса, как:

/:username/links  
/:username/links/:id/star

И я хотел бы иметь возможность получать параметры [: username]

Ответы [ 2 ]

3 голосов
/ 24 ноября 2010

Вы можете использовать scope для этого, он намного аккуратнее:

 scope :path => ":username" do
   resources :links do
     put 'star', :on => :member
   end
 end
0 голосов
/ 23 ноября 2010

вы должны использовать пользовательские вложенные ресурсы

resources :users do
  resources :links do
    put 'star', :on=>:member
  end
end

тогда, если вы внедрите to_param в user.rb

def to_param
  username.parameterize
end

Тогда у вас будет

/:username/links
/:username/links/23
/:username/links/23/star
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...