【问题标题】:devise 2 models 2 views problem with path设计 2 个模型 2 个视图 路径问题
【发布时间】:2011-06-24 09:05:43
【问题描述】:

上下文

导轨 3.0.3

设计 1.1.5 和 1.2rc

我有以下设计 rdoc

rails g devise:install

rails g devise user

rails g devise employee

rails g devise:views users

rails g devise:views employees

routes.rb

devise_for :users

devise_for :employees, :path => 'admin'

设计.rb

config.scoped_views = true

rake 路线给予

new_user_session GET /users/sign_in(.:format) {:action=>"new", :controller=>"devise/sessions"}

                user_session POST   /users/sign_in(.:format)                        {:action=>"create", :controller=>"devise/sessions"}

        destroy_user_session GET    /users/sign_out(.:format)                       {:action=>"destroy", :controller=>"devise/sessions"}

               user_password POST   /users/password(.:format)                       {:action=>"create", :controller=>"devise/passwords"}

           new_user_password GET    /users/password/new(.:format)                   {:action=>"new", :controller=>"devise/passwords"}

          edit_user_password GET    /users/password/edit(.:format)                  {:action=>"edit", :controller=>"devise/passwords"}

                             PUT    /users/password(.:format)                       {:action=>"update", :controller=>"devise/passwords"}

                 user_unlock POST   /users/unlock(.:format)                         {:action=>"create", :controller=>"devise/unlocks"}

             new_user_unlock GET    /users/unlock/new(.:format)                     {:action=>"new", :controller=>"devise/unlocks"}

                             GET    /users/unlock(.:format)                         {:action=>"show", :controller=>"devise/unlocks"}

        new_employee_session GET    /admin/sign_in(.:format)                        {:action=>"new", :controller=>"devise/sessions"}

            employee_session POST   /admin/sign_in(.:format)                        {:action=>"create", :controller=>"devise/sessions"}

    destroy_employee_session GET    /admin/sign_out(.:format)                       {:action=>"destroy", :controller=>"devise/sessions"}

           employee_password POST   /admin/password(.:format)                       {:action=>"create", :controller=>"devise/passwords"}

       new_employee_password GET    /admin/password/new(.:format)                   {:action=>"new", :controller=>"devise/passwords"}

      edit_employee_password GET    /admin/password/edit(.:format)                  {:action=>"edit", :controller=>"devise/passwords"}

                             PUT    /admin/password(.:format)                       {:action=>"update", :controller=>"devise/passwords"}

邮件发送者查看用户或员工是

link_to 'Change my password', edit_user_password_url(@resource, :reset_password_token => @resource.reset_password_token)

link_to 'Change my password', edit_employee_password_url(@resource, :reset_password_token => @resource.reset_password_token)

但是如果我提交表单我会遇到这个错误(对于用户或员工

设计/密码#create 中的类型错误

显示第 8 行引发的 /app/views/users/mailer/reset_password_instructions.html.erb:

无法将字符串转换为哈希

8: @resource.reset_password_token) %>

如果你有想法?

【问题讨论】:

  • 我尝试使用 url_for 而不是 edit_user_password_url 但我有同样的错误
  • 好的,解决方案在application_controller.rb添加ActionMailer::Base.default_url_options[:host] = "http://domain.com"

标签: ruby-on-rails-3 devise


【解决方案1】:

最初于 2011 年 3 月 7 日发布

解决方案在 application_controller.rb 中。

添加

ActionMailer::Base.default_url_options[:host] = "http://domain.com"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-01
    相关资源
    最近更新 更多