To Do リスト アプリケーションを github にプッシュしました。
ユーザーも管理者も作成されません。データベースは github にアップロードされません (アップロードすべきではありません)。したがって、すべての初期設定を db/seeds.rb に追加して、すべての db の期待が確実に満たされるようにする必要があります。
さらに、ロールはシード ファイルに作成されないため、アプリケーションはユーザーの登録に失敗します。
すべての初期設定を に追加しようとしましたdb/seeds.rb
:
Role.create({name: "Admin"})
Role.create({name: "Woeker"})
user1 = User.create!(
email: "admin2@gmail.com",
password: "12345678",
password_confirmation: "12345678"
encrypted_password: "$2a$10$7aK4tZTsCDB64qQI/kl.d.nZGwjEJPh7YlUNE8/Ty.0JhAMS.ALX6"
role_ids = [1]
)
user2 = User.create!(
email: "worker2@gmail.com",
password: "12345678",
password_confirmation: "12345678"
encrypted_password: "$2a$10$7aK4tZTsCDB64qQI/kl.d.nZGwjEJPh7YlUNE8/Ty.0JhAMS.ALX6"
role_ids = [2]
)
(encrypted_password は Rails コンソールから取得されました: 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: "admin2@gmail.com",
password: "12345678",
password_confirmation: "12345678"
role_ids = [1]
)
user2 = User.create!(
email: "worker2@gmail.com",
password: "12345678",
password_confirmation: "12345678"
role_ids = [2]
)