Clearance gem を使用して、Web サイトに認証を追加します。標準の User モデルは次のようになります。
class User < ActiveRecord::Base
include Clearance::User
end
ここで、ユーザー モデルにさらにプロパティを追加したいと思います。この移行を作成しました:
class AddCustomernameToUsers < ActiveRecord::Migration
def change
add_column :users, :customername, :string
end
end
rake db:migrate の後、データベースには :customername の列が 1 つ増えました
次のステップとして、ユーザー モデル ファイルを次のように編集しました。
class User < ActiveRecord::Base
include Clearance::User
attr_accessor :customername
end
次のステップとして、新しいユーザーにサインアップし、sqlite データベース ブラウザーを使用して、このユーザーの顧客名フィールドにテスト文字列「charly」を追加しました。
私のコントローラーでは、ユーザー オブジェクトを作成し、それを印刷して、すべてのデータが存在するかどうかを確認したいと考えています。
thisUser = User.find(current_user.id)
puts thisUser.inspect
コンソール出力は次のとおりです。
#<User id: 1, email: "test@test.de", encrypted_password: "0494a9b3b692acaea96ab57bed500adf26dbafa5", salt: "75c889d099438476204ce46b9cb406fb1f73423c", confirmation_token: nil, remember_token: "907b9bd600246d0b8dcc06a782457665f614b368", created_at: "2012-03-21 20:59:44", updated_at: "2012-03-21 21:12:59", customername: nil>
したがって、customername は nil です。どういうわけか、このフィールドのデータがデータベースから正しく引き出されません。
私は何を間違っていますか?
すみません、Rails初心者です。非常に単純なことかもしれませんが、私は一日中懸命にグーグルで検索しましたが、うまくいかなかったので、スタック オーバーフローの知恵に目を向けます。みんなありがとう。