0

http://ruby.railstutorial.org/chapters/user-microposts#code:sample_micropostsチュートリアルを使用してマイクロポスト モデルを構築しています。マイクロポスト オブジェクトが content および user_id 属性に応答することを確認するためのテストを実行しているときに、このエラーが発生します。

   **User.rb**

  class User < ActiveRecord::Base
    has_many :arts
    belongs_to :account
     attr_accessible :name, :email,:password, :password_confirmation

       has_many :microposts, dependent: :destroy
    has_many :relationships, foreign_key: "follower_id", dependent: :destroy
       has_many :followed_users, through: :relationships, source: :followed
    has_many :reverse_relationships, foreign_key: "followed_id",
                                   class_name:  "Relationship",
                                   dependent:   :destroy
      has_many :followers, through: :reverse_relationships, source: :follower

     def following?(other_user)
    relationships.find_by_followed_id(other_user.id)
     end

      def follow!(other_user)
    relationships.create!(followed_id: other_user.id)
    end

     def unfollow!(other_user)
      relationships.find_by_followed_id(other_user.id).destroy
    end
        def accountName
        account.name

*マイクロポスト仕様*

「spec_helper」が必要

describe Micropost do

  let(:user) { FactoryGirl.create(:user) }
  before do
    # This code is wrong!
    @micropost = Micropost.new(content: "Lorem ipsum", user_id: user.id)
  end

  subject { @micropost }

  it { should respond_to(:content) }
  it { should respond_to(:user) }

end

移行ユーザー

class CreateUsers < ActiveRecord::Migration def change create_table :users do |t| t.string :名前 t.string :カテゴリ

  t.timestamps
end   end end

ユーザーモデル

class User < ActiveRecord::Base has_many :arts belongs_to :account
has_secure_password attr_accessible :name, :email has_many :microposts

   before_create { generate_token(:auth_token)}
   has_many :microposts, dependent: :destroy  has_many :relationships, foreign_key: "follower_id", dependent: :destroy
   has_many :followed_users, through: :relationships, source: :followed   has_many :reverse_relationships, foreign_key:

"followed_id", class_name: "Relationship", 従属: :destroy has_many :followers, through: :reverse_relationships, source: :follower

def generate_token(column) begin self[column] = SecureRandom.urlsafe_base64 end while User.exists?(column => self[column])

 def following?(other_user)
relationships.find_by_followed_id(other_user.id)   end

def follow!(other_user) relationship.create!(followed_id: other_user.id) end def unfollow!(other_user) relationship.find_by_followed_id(other_user.id).destroy end def accountName account.name end end end

4

1 に答える 1

0

青への推測ですが、http://ruby.railstutorial.org/chapters/modeling-users#sec:adding_a_secure_passwordを見ると、パスワードの部分が欠けているようです。

そうでない場合は、完全なモデル (切り取られているように見えます) と、ユーザー用の移行ファイルを投稿する必要がある場合があります。

于 2012-05-06T15:37:00.617 に答える