2013-01-03 53 views
0

我把我的list應用程序推到github上。配置db/seeds.rb

也不創建用戶和管理員。數據庫沒有上傳到github(也不應該)。 所以我應該將所有初始設置添加到db/seeds.rb以確保所有db期望值都已到位。

另外,角色沒有在種子文件中創建,所以應用程序無法註冊用戶。

我想所有的初始設置添加到db/seeds.rb

Role.create({name: "Admin"}) 
Role.create({name: "Woeker"}) 

user1 = User.create!(
    email: "[email protected]", 
    password: "12345678", 
    password_confirmation: "12345678" 
    encrypted_password: "$2a$10$7aK4tZTsCDB64qQI/kl.d.nZGwjEJPh7YlUNE8/Ty.0JhAMS.ALX6" 
    role_ids = [1] 
) 

user2 = User.create!(
    email: "[email protected]", 
    password: "12345678", 
    password_confirmation: "12345678" 
    encrypted_password: "$2a$10$7aK4tZTsCDB64qQI/kl.d.nZGwjEJPh7YlUNE8/Ty.0JhAMS.ALX6" 
    role_ids = [2] 
) 

(該encrypted_pa​​ssword從鐵軌控制檯採取:U = user.last ..)

不幸的是,我不知道如果我添加了我所有的東西,並且確實如此。

在頁面localhost:3000/users/sign_up,我必須輸入:電子郵件,密碼和密碼確認。

這些都是遷移:

class DeviseCreateUsers < ActiveRecord::Migration 
    def change 
    create_table(:users) do |t| 
     ## Database authenticatable 
     t.string :email,    :null => false, :default => "" 
     t.string :encrypted_password, :null => false, :default => "" 

     ## Recoverable 
     t.string :reset_password_token 
     t.datetime :reset_password_sent_at 

     ## Rememberable 
     t.datetime :remember_created_at 

     ## Trackable 
     t.integer :sign_in_count, :default => 0 
     t.datetime :current_sign_in_at 
     t.datetime :last_sign_in_at 
     t.string :current_sign_in_ip 
     t.string :last_sign_in_ip 

     t.timestamps 
    end 

    add_index :users, :email,    :unique => true 
    add_index :users, :reset_password_token, :unique => true 
    end 
end 



class Roles < ActiveRecord::Migration 
    def self.up 
    create_table :roles do |t| 
     t.string :name 
     t.timestamps 
    end 
    end 

    def self.down 
    drop_table :roles 
    end 
end 



class UserRoles < ActiveRecord::Migration 
    def self.up 
    create_table :roles_users, :id => false do |t| 
     t.references :role, :user 
    end 
    end 

    def self.down 
    drop_table :roles_users 
    end 
end 

任何幫助表示讚賞!

更新:這是解決方案嗎?

Role.create({name: "Admin"}) 
Role.create({name: "Woeker"}) 

user1 = User.create!(
    email: "[email protected]", 
    password: "12345678", 
    password_confirmation: "12345678" 
    role_ids = [1] 
) 

user2 = User.create!(
    email: "[email protected]", 
    password: "12345678", 
    password_confirmation: "12345678" 
    role_ids = [2] 
) 

回答

1

我有類似的東西。刪除密碼確認。完全按照您身處登錄表單的方式進行操作。

+0

我正在編輯我的主題與解決方案。告訴我它是否正確。另一件事,我必須定義角色。在導軌控制檯中,我將它定義爲:u = user.last u.role_ids = [2] u.save。所以請注意,如果我確實做到了。非常感謝你!你不知道你有多幫我! –

+0

我對Rails也相當陌生。我甚至不知道'u.role_ids = [2]'是可能的。抱歉!我的意思是:你將不得不測試那一個。 –

+0

好的,謝謝! :]] 還有祝你好運! –