【发布时间】:2015-06-04 02:05:07
【问题描述】:
我现在严格按照 Michael Hartl 编写的 Ruby on Rails 教程中的步骤进行操作,但我被困在第 11.3 章的清单 11.45 中 - 操作微帖子。当我在下一节 11.3.4-Destroying microposts 之前运行rake test 时,出现 5 个错误,原因类似。正如教程声称的那样,它应该是绿色的。我不明白为什么以及如何解决这个问题。
5 个错误之一是:
错误[“test_login_with_invalid_information”,UsersLoginTest,2015-05-31 06:10:56 -0400] test_login_with_invalid_information#UsersLoginTest (1433067056.81s) NoMethodError: NoMethodError: nil:NilClass 的未定义方法'feed' app/controllers/static_pages_controller.rb:4:in 'home' test/integration/users_login_test.rb:18:in 'block in class:UsersLoginTest'
在app/models/user.rb中,方法'feed'如下:
def feed
Micropost.where("user_id = ?", id)
end
在app/controllers/static_pages_controller.rb中,代码如下:
def home
if logged_in?
@micropost = current_user.microposts.build
@feed_items = current_user.feed.paginate(page: params[:page])
end
end
在 test/integration/users_login_test.rb 第 18 行:
test "login with invalid information" do
get login_path
assert_template 'sessions/new'
post login_path, session: { email: "", password: "" }
assert_template 'sessions/new'
assert_not flash.empty?
get root_path <- line 18
assert flash.empty?
end
【问题讨论】:
标签: ruby-on-rails