从Devise网址中删除模型
问题描述:
如何从Devise网址中删除模型名称?从Devise网址中删除模型
即
users/sign_in -> /sign_in
users/sign_out -> /sign_out
users/registration/sign_up -> /sign_up
users/registration/edit -> /edit
答
这是覆盖在所述色器件自述(https://github.com/plataformatec/devise ):
Devise还附带默认路由。 如果您需要自定义它们,您应该可以通过devise_for方法执行 。它 接受几个选项,如 :CLASS_NAME,:串流中删除等, 包括改变 路径名I18N的可能性:
devise_for :users, :path => "usuarios", :path_names => { :sign_in => 'login', :sign_out => 'logout', :password => 'secret', :confirmation => 'verification', :unlock => 'unblock', :registration => 'register', :sign_up => 'cmon_let_me_in' }
一定要检查 devise_for文档的详细信息。
如果你有更深刻的 定制的需求,比如同时还 允许“/ sign_in”除了 “/用户/ sign_in”,所有你需要做的 是正常创建您的路线和 他们包装在 一个devise_scope块路由器:
devise_scope :user do
get "sign_in", :to => "devise/sessions#new"
end
这样 你告诉设计使用范围:用户 当 “/ sign_in” 是访问。通知 devise_scope也别名为作为和 你也可以给一个块 devise_for,导致相同的 行为:
devise_for :users do
get "sign_in", :to => "devise/sessions#new"
end
随意 选择一个你喜欢!
(也许这是不是在自述时,这个问题最初提出的问题。)
答
手动执行此操作的方法是Rails 3的将是:
match 'sign_in' => 'devise/sessions#new', :as => :sign_in
match 'sign_out' => 'devise/sessions#destroy', :as => :sign_out
忘了提,在这个项目中,我运行Rails 3。 – Alfred 2010-07-06 15:42:10