Имя NoMethodError RoR user.name

Следовали инструкциям на SitePoint.

для простого колдовского приложения. Я получаю неопределенное имя метода для nil:NilClass

миграция

class SorceryCore < ActiveRecord::Migration
  def change
   create_table :users do |t|
      t.string :name
      t.string :email,            :null => false
      t.string :crypted_password
      t.string :salt

      t.timestamps                :null => false
    end

    add_index :users, :email, unique: true
  end
end

/home/david/Magical/app/views/user_mailer/activation_needed_email.html.erb

<p>Welcome, <%= @user.name %>!</p>

<p>To login to the site, just follow <%= link_to 'this link', 
activate_user_url$

<p>Thanks for joining and have a great day!</p>

пользователи.rb

class User < ActiveRecord::Base
  authenticates_with_sorcery!
  validates :password, length: { minimum: 3 }
  validates :password, confirmation: true
  validates :email, uniqueness: true, email_format: { message: 'has 
  invalid format'
End

person uberdave    schedule 25.03.2018    source источник
comment
Контроллер пользователей. (источник) github.com/bodrovis/SitePoint-Sorcery /blob/мастер/приложение/   -  person uberdave    schedule 26.03.2018


Ответы (1)


Я прошел долгий путь домой и клонировал репозиторий Github. Сначала я получал ошибку «Слишком глубокий уровень стека», но обнаружил, что gemfile загружает рельсы 4.2.1. Я изменил это на 4.2.10, и все прошло хорошо после миграции и незначительных изменений в руководстве. попутно я нашел гем rails_db, отличный простой гем для работы с sqLite. гем rails_db

person uberdave    schedule 26.03.2018