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 :micropostsbefore_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