0

我正在尝试将 Devise 集成到我的 Rails 应用程序中,但遇到了麻烦。

我想在我的页面中呈现用户注册表单:

我跑rails generate devise:views了,得到了:

  invoke  Devise::Generators::SharedViewsGenerator
  create    app/views/devise/shared
  create    app/views/devise/shared/_links.erb
  invoke  form_for
  create    app/views/devise/confirmations
  create    app/views/devise/confirmations/new.html.erb
  create    app/views/devise/passwords
  create    app/views/devise/passwords/edit.html.erb
  create    app/views/devise/passwords/new.html.erb
  create    app/views/devise/registrations
  create    app/views/devise/registrations/edit.html.erb
  create    app/views/devise/registrations/new.html.erb
  create    app/views/devise/sessions
  create    app/views/devise/sessions/new.html.erb
  create    app/views/devise/unlocks
  create    app/views/devise/unlocks/new.html.erb
  invoke  erb
  create    app/views/devise/mailer
  create    app/views/devise/mailer/confirmation_instructions.html.erb
  create    app/views/devise/mailer/reset_password_instructions.html.erb
  create    app/views/devise/mailer/unlock_instructions.html.erb

land.html.haml

= render 'devise/registrations/new'

但我收到一个错误:

Missing partial devise/registrations/new with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :raw, :ruby, :jbuilder, :coffee, :haml]}. Searched in:
  * ".../app/views"
  * ".../.rvm/gems/ruby-2.0.0-p0@startupcrawler/gems/devise-1.5.4/app/views"

这也不起作用。

= render 'users/registrations/new'

我配置错了吗?

4

3 回答 3

5

要渲染一个部分,比如说users/registrations/view,相应的文件应该_new.html.erbapp/views/devise/registrations文件夹中命名。但是,仅仅这样做不会使您的表单在您的登录页面中工作,因为它无法访问资源名称和设计映射。

相反,我认为您可以按照此处的说明https://github.com/plataformatec/devise/wiki/How-To:-Display-a-custom-sign_in-form-anywhere-in-your-app放置表格在您的页面中。虽然那里的说明适用于登录表格,但它们也适用于注册表单。

于 2013-04-23T14:27:30.220 回答
0

它是 = 渲染“设计/注册/新”

你错过了一个's'

于 2013-04-23T14:01:39.240 回答
0

使用 :template 就像在 haml = render :template => 'devise/registrations/new'

于 2016-07-25T20:54:16.773 回答