2010-11-09 70 views
2

我知道,您可以更改色器件路线的名字,但我正在寻找实际添加的东西有一项路线,像这样:滑轨设计的自定义网址

match "users/sign_up/:invitation_token', :controller => 'registrations', :action => 'new'" 

我试着直接在我的设备路由声明的上面和下面添加该行:

devise_for :users, :controllers => { :registrations => "registrations" } 

但是rails看不到路由。有没有一种方法可以将参数添加到设计生成的URL中?

感谢

+0

究竟是什么目标?除了API允许的东西之外,设计路线非常适合修改,但也许你可以通过其他优雅的方式来实现解决方案。 – 2010-11-10 04:00:12

+0

我正在处理的应用程序需要被邀请,所以我试图找到一种方法来整合邀请系统,该系统可以从URL中获取邀请令牌,而不是使用户剪切和粘贴它(尽管这仍然是一个选项)。 – 2010-11-10 13:41:50

+0

这是什么解决方案?我正在尝试同样的事情。以下是railscast教程。 – morcutt 2010-12-07 08:14:27

回答

2

我假设你是在轨道3,由于使用“匹配”关键字。试试下面的语法

match 'users/sign_up/:invitation_token', :to => 'registrations#new' 

将这个线你devise_for线之下,你应该是好去。

而且因为你的目标是管理邀请,你可能会想看看https://github.com/scambra/devise_invitable(还没有尝试过我自己)

1

不过,我得到一些路由错误。这对我有效:

devise_scope :user do 
    match "users/profile" => "sessions#show" 
    end