Rails 4.0.1 und 3.4.1 ersinnenDevise undefinierte Methode `user_changed? '
den folgenden Fehler empfangen, unabhängig davon, ob es sign_in oder sign_up:
NoMethodError in Devise :: SessionsController # erstellen
nicht definierte Methode ` user_changed? ' für #
Devise generiert standardmäßig keine Controller, und keine wurden hinzugefügt; Es gibt keine Registrierungen oder Sessions_controller.
Benutzermodell:
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :recoverable, :rememberable, :trackable, :validatable, :registerable
mount_uploader :user, ImageUploader
end
Routen:
Myapp::Application.routes.draw do
devise_for :users
resources :posts
resources :projects
resources :contacts, only: [:new, :create]
get 'welcome/index'
root 'welcome#index'
get '*path' => redirect('/')
end
Routen Tabelle:
Prefix Verb URI Pattern Controller#Action
new_user_session GET /users/sign_in(.:format) devise/sessions#new
user_session POST /users/sign_in(.:format) devise/sessions#create
destroy_user_session DELETE /users/sign_out(.:format) devise/sessions#destroy
user_password POST /users/password(.:format) devise/passwords#create
new_user_password GET /users/password/new(.:format) devise/passwords#new
edit_user_password GET /users/password/edit(.:format) devise/passwords#edit
PATCH /users/password(.:format) devise/passwords#update
PUT /users/password(.:format) devise/passwords#update
cancel_user_registration GET /users/cancel(.:format) devise/registrations#cancel
user_registration POST /users(.:format) devise/registrations#create
new_user_registration GET /users/sign_up(.:format) devise/registrations#new
edit_user_registration GET /users/edit(.:format) devise/registrations#edit
PATCH /users(.:format) devise/registrations#update
PUT /users(.:format) devise/registrations#update
DELETE /users(.:format) devise/registrations#destroy
posts GET /posts(.:format) posts#index
POST /posts(.:format) posts#create
new_post GET /posts/new(.:format) posts#new
edit_post GET /posts/:id/edit(.:format) posts#edit
post GET /posts/:id(.:format) posts#show
PATCH /posts/:id(.:format) posts#update
PUT /posts/:id(.:format) posts#update
DELETE /posts/:id(.:format) posts#destroy
projects GET /projects(.:format) projects#index
POST /projects(.:format) projects#create
new_project GET /projects/new(.:format) projects#new
edit_project GET /projects/:id/edit(.:format) projects#edit
project GET /projects/:id(.:format) projects#show
PATCH /projects/:id(.:format) projects#update
PUT /projects/:id(.:format) projects#update
DELETE /projects/:id(.:format) projects#destroy
contacts POST /contacts(.:format) contacts#create
new_contact GET /contacts/new(.:format) contacts#new
welcome_index GET /welcome/index(.:format) welcome#index
root GET / welcome#index
-Code von app \ Ansichten \ ersinnen \ Anmeldungen \ new.html.erb
<%= form_for(resource, as: resource_name, url: user_registration_path(resource_name)) do |f| %>
<%= devise_error_messages! %>
Und schließlich Code aus devise \ Sitzungen \ new.html.erb:
<%= form_for(resource, as: resource_name, url: user_session_path(resource_name)) do |f| %>
<div class="field">
<%= f.label :email %><br />
<%= f.email_field :email, autofocus: true %>
</div>
Würde schätzen jede Hilfe die Fähigkeit wiederzuerlangen oder registrieren anmelden zurück.
Dank
trh, große Frage! Ich habe folgendes unter den ** Benutzer ** Tabelle in Schema: 't.string "Bild"' neueste Migration: 'Klasse AddImageToUsers
AnonymousFerret
Bedeutet das, ich sollte dein Beispiel mit so etwas folgen? 'rename_column: users,: Benutzer,: image,: string' – AnonymousFerret
Wenn es sich bereits um eine Zeichenkette handelt, müssen Sie keinen Datentyp angeben, Sie benennen nur um. Alle Datenänderungen, die Sie an der Spalte vornehmen möchten, dann ja, Sie müssten eine vollständige Definition bereitstellen :) – trh