设计/注册中的NoMethodError #new

时间:2012-02-12 11:12:48

标签: ruby-on-rails

我有Rails 3.2.1并尝试使用ubuntu安装devise(1.1.rc0)

我的佣金路线给了我

new GET    /users/registration/sign_up(.:format) devise/registrations#new 

config/routes.rb
DeviseApp::Application.routes.draw do
  devise_for :users
  match "users/registration/sign_up" => "devise/registrations#new"
  resources :projects
  root :to => "home#index"
end

http://127.0.0.1:3000/users/registration/sign_up时 我拿 类的未定义方法`user_registration_path'

的Gemfile     来源'https://rubygems.org'

gem 'rails', '3.2.1'
gem 'sqlite3'
gem 'devise', '1.1.rc0'

group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'
  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'

我按照第209集介绍Devise Railscasts的说明进行操作。

2 个答案:

答案 0 :(得分:0)

如果您想使用user_registration_path

,则必须将路线定义为named route
match "users/registration/sign_up" => "devise/registrations#new", :as => 'user_registration'

答案 1 :(得分:0)

最终解决方案是更改Gemfile。新的Gemfile:

gem 'rails', '3.0.11'
gem 'sqlite3', '1.3.3'
gem 'devise'
gem 'recaptcha', :require => 'recaptcha/rails'

也许组合rails'3.2.1'和设计'1.1.rc0'对我来说是灾难性的。

相关问题