Придумайте отсутствие ошибки метода в рельсах 3.1 - PullRequest
0 голосов
/ 04 октября 2011

Я только что создал приложение rails 3.1 и обновил devise 1.4.7. Но когда я просматриваю http://localhost:3000/users/sign_up(as, указанный в маршрутах рейка), я получаю «NoMethodError in Devise / registrations # new» извлеченный источник - строка

  3: <%= form_for(resource_name, resource, :url => registration_path(resource_name)) do  |f| %>.

Какое решение для этого? Спасибо заранее.

rout.rb

    Deals::Application.routes.draw do
    devise_for :users
    match  "/users/sign_up" => "devise/registrations#new"

    root :to => "home#index"
      end

Ответы [ 4 ]

2 голосов
/ 06 октября 2011

Используйте эти строки в вашем файле rout.rb.

root :to => "home#index"
devise_for :users
devise_scope :user do
    get "sign_in", :to => "devise/sessions#new"
    get "sign_out", :to => "devise/sessions#destroy"
    get "sign_up", :to => "devise/registrations#new"
end
1 голос
/ 17 апреля 2013

Перезапуск сервера сделал это для меня. Попробуйте это прежде всего!

0 голосов
/ 27 марта 2012

Вы можете попробовать devise_for :users, а затем сразу resources :users

0 голосов
/ 04 октября 2011

Уберите эту часть в config/routes.rb:

match "/users/sign_up" => "devise/registrations#new"

Это избыточно, devise_for :users добавит этот маршрут.

...