Rails 偶然发现 Rails model validates 和 rake:migrate 发生了结合改变 ?

yuanrenkai · 2016年01月11日 · 最后由 yuanrenkai 回复于 2016年01月11日 · 1927 次阅读

rails 版本 4.2.5 rake 版本 10.4.2

背景 默认管理管理账户 和 anonymous 创建 情况:几天前运行 rake:migrate 创建 admin 和 anonymous 用户成功 现在创建 admin 和 anonymous 用户不成功,注释掉(相关)验证项,创建成功

问题:求教,大家对默认数据 ,需要跳过验证,,有什么好的想法

db/migrate/001_create_users.rb

class CreateUsers < ActiveRecord::Migration
  def change
    create_table :users do |t|
      t.string :first_name
      t.string :last_name
      t.string :login
      t.string :email
      t.string :password_digest
      t.boolean :admin
      t.integer :status
      t.string :type

      t.timestamps null: false
    end

   user =  User.new :first_name => 'User' ,
                    :last_name => 'administrator' ,
                    :email => '[email protected]' ,
                    :login => 'admin' ,
                    :password => '123456' ,
                    :password_confirmation => '123456' ,
                    :status => 1 ,
                    :admin => true
   user.save

   anonymous_user = AnonymousUser.new :first_name => 'User' ,
                           :last_name => 'anonymous' ,
                           :login => 'anonymous' ,
                           :email => '[email protected]' ,
                           :password => '123456' ,
                           :password_confirmation => '123456' ,
                           :status => 0
  anonymous_user.save
  end
end

app/models/user.rb

class User < ActiveRecord::Base
.
.

    validates :login , exclusion: { in: %w(admin superuser anonymous) }
.
.
end

@rei 谢谢。。经过多次尝试,感觉 rails 的 初始化 似乎发生了改变,使用 rails c 测试出差异。。 情况:在 rails console 环境下,除 rails 基础组件外,如 User class 自定义类,在没有使用过的情况下,通过 字符 tab 补全,不能够查找到该类,,只有使用过之后,使用 tab 补全才能查找到。

#2 楼 @yuanrenkai 正常,延迟载入。

@rei 额,这样啊,谢谢

需要 登录 后方可回复, 如果你还没有账号请 注册新账号