无法将nil转换为确切的数字

我希望用户能够评论其他人的微博,但我不断收到以下错误:无法将nil转换为确切的数字

它来自下面的View / comments / _form文件中的时间戳。 出于某种原因,@ comment.created_at以零返回

查看/评论/ _form :(在每个微博结束时调用此部分)

 Said  ago.</span    

用户模型:

 attr_accessible :name, :email, :password, :password_confirmation #is this secure with password there? attr_protected :admin #attr_protected necessary? has_many :microposts, dependent: :destroy has_many :comments, :through => :microposts, dependent: :destroy 

Micropost型号:

 attr_accessible :comment #basically the content of the post attr_protected :user_id has_many :comments, dependent: :destroy 

评论模型:

 attr_accessible :content, :micropost belongs_to :user belongs_to :micropost validates :user_id, presence: true validates :micropost_id, presence: true validates :content, presence: true default_scope order: 'comments.created_at ASC' #is this necessary? 

评论控制器:

 def create @micropost = Micropost.find_by_id(params[:id]) #is this necessary? @comment = current_user.comments.create(:micropost => @micropost) redirect_to :back end 

用户控制器:

 def show @user = User.find_by_id(params[:id]) @microposts = @user.microposts.paginate(page: params[:page]) @micropost = current_user.microposts.build @comments = @micropost.comments @comment = current_user.comments.create(:micropost => @micropost) #build, new or create?? end 

路线:

 resources :users resources :microposts, only: [:create, :destroy] resources :comments, only: [:create, :destroy] 

SQL:

“comment”=> {“content”=>“EXAMPLE”}}用户负载(0.8ms)SELECT“users”。* FROM“users”WHERE“users”。“remember_token”=’H09yZpAv5qhmT3ok5fXfnQ’LIMIT 1 Micropost Load(0.7 ms)选择“microposts”。* FROM“microposts”WHERE“microposts”。“id”为空

@comment很可能是created_at设置为nil的新记录

@micropost尚未创建

@micropost = current_user.microposts.build之后添加@micropost.save

 @micropost = current_user.microposts.build @micropost.save @comments = @micropost.comments @comment = current_user.comments.create(:micropost => @micropost)