2014-11-04 23 views
5

Tôi đang theo dõi "Hướng dẫn về Ruby on Rails" của Michael Hartl: Tìm hiểu phát triển web "và tạo các kiểm tra kiểm tra tên và email của người dùng về tính hợp lệ của độ dài (tên tối đa là 50 ký tự, email là 255 ký tự). Nội dung của test/helpers/application_helper_test.rb là:Lỗi MiniTest: "NameError: uninitialized constant"

require 'test_helper' 

class ApplicationHelperTest < ActionView::TestCase 
    test "full_title_helper" do 
    assert_equal full_title,   FILL_IN 
    assert_equal full_title("Help"), FILL_IN 
    end 
end 

Khi chạy bundle exec rake test, tất cả đều pass, nhưng tôi thấy thông báo sau gắn cờ là một lỗi ở cuối:

ERROR["test_full_title_helper", ApplicationHelperTest, 1.820016791] 
test_full_title_helper#ApplicationHelperTest (1.82s) 
NameError:   NameError: uninitialized constant ApplicationHelperTest::FILL_IN 
     test/helpers/application_helper_test.rb:5:in `block in <class:ApplicationHelperTest>' 
    test/helpers/application_helper_test.rb:5:in `block in <class:ApplicationHelperTest>' 

Bất kỳ ý tưởng làm thế nào để sửa chữa điều này?

+3

Tôi muốn tưởng tượng 'FILL_IN' có nghĩa là để được phản ánh như một số loại tập thể dục hoặc một cái gì đó, không được sử dụng theo nghĩa đen. –

+1

Chính xác. Nếu bạn đọc kỹ thông báo lỗi, Ruby sẽ nói với bạn rằng nó không biết 'FILL_IN' là gì. Đọc mô tả tập thể dục https://www.railstutorial.org/book/filling_in_the_layout#sec-layout_exercises –

+1

Các bạn hoàn toàn đúng, đó là vấn đề. Tôi đã thay thế FILL_IN bằng "Ứng dụng mẫu hướng dẫn Ruby on Rails" và "Trợ giúp | Ứng dụng mẫu hướng dẫn Ruby on Rails" đã giải quyết được lỗi. Cảm ơn! – hworth

Trả lời

7

Tắt vấn đề là FILL_IN không phải là tiêu đề chữ (rõ ràng), vì vậy nó cần phải được thay thế bằng "Trợ giúp | Hướng dẫn sử dụng mẫu Ruby on Rails" và "Ứng dụng mẫu hướng dẫn Ruby on Rails" tương ứng. -Cảm ơn Nick Veys và p11y cho câu trả lời này.

0

Các hằng FILL_IN có thể được thay thế bằng: tên,: Địa chỉ email

class User < ActiveRecord::Base 
#... 
has_many :microposts 
validates :name, presence: true 
validates :email, presence: true 
#... 
Các vấn đề liên quan