【发布时间】:2014-01-15 00:21:37
【问题描述】:
我刚开始第 10 章,刚看完图 10.1。
我在 migrate 和 test:prepare 命令之前尝试了 rake db:reset,但没有奏效。
这是我的错误,我在这里找不到类似的:
失败:
1) Micropost
Failure/Error: @micropost = Micropost.new(content: "Lorem ipsum", user_id: user_id)
NameError:
undefined local variable or method `user_id' for #<RSpec::Core::ExampleGroup::Nested_1:0x007fcfecc789b8>
# ./spec/models/micropost_spec.rb:9:in `block (2 levels) in <top (required)>'
2) Micropost
Failure/Error: @micropost = Micropost.new(content: "Lorem ipsum", user_id: user_id)
NameError:
undefined local variable or method `user_id' for #<RSpec::Core::ExampleGroup::Nested_1:0x007fcfecc8a000>
# ./spec/models/micropost_spec.rb:9:in `block (2 levels) in <top (required)>'
Finished in 0.00389 seconds
2 examples, 2 failures
Failed examples:
rspec ./spec/models/micropost_spec.rb:15 # Micropost
rspec ./spec/models/micropost_spec.rb:14 # Micropost
这是我的代码:
对于文件:db/migrate/[my unique timestamp]_create_microposts.rb
class CreateMicroposts < ActiveRecord::Migration
def change
create_table :microposts do |t|
t.string :content
t.integer :user_id
t.timestamps
end
add_index :microposts, [:user_id, :created_at]
end
end
对于文件:spec/models/micropost_spec.rb
require 'spec_helper'
describe Micropost do
# pending "add some examples to (or delete) #{__FILE__}"
let(:user) { FactoryGirl.create(:user) }
before do
#This code is not correct, idiomatically
@micropost = Micropost.new(content: "Lorem ipsum", user_id: user_id)
end
subject { @micropost }
it { should respond_to(:content) }
it { should respond_to(:user_id) }
end
PS 我所有的测试都是绿色的进入 ch。 10
【问题讨论】:
-
我需要告诉你关于任何问题的标题的重要一点是你不应该这样写,请具体说明你的问题并知道你的问题或导致你问题的原因。 .我看过你的两个帖子,两个帖子的标题相同,可以接受一次,但请记住这一点。
-
我改进了标题。
标签: ruby-on-rails rspec railstutorial.org