Với mã bên dưới:Rails/RSpec - viết spec cho tên lớp của belongs_to hiệp hội
(1) Làm thế nào bạn sẽ viết một spec để kiểm tra rằng tên lớp của HOME_TEAM và đấu với AWAY_TEAM nên một lớp đội?
(2) Bạn có nên bận tâm viết một thông số như vậy không? Tôi không chắc chắn tôi thấy giá trị khi làm như vậy, nhưng muốn có được suy nghĩ của bạn.
class Event < ActiveRecord::Base
belongs_to :home_team, :class_name => 'Team', :foreign_key => :home_team_id
belongs_to :away_team, :class_name => 'Team', :foreign_key => :away_team_id
end
describe Event do
it { should belong_to(:home_team) }
it { should belong_to(:away_team) }
end
Sẽ được tốt đẹp nếu shoulda có cái gì đó như:
it { should belong_to(:home_team).with_class_name(:team) }
Cảnh báo: Tính năng này không hoạt động đối với tôi trừ khi tôi đã thực hiện '@home_team = Team.create (...' thay vì '.new (' vì có vẻ như AR không cung cấp id cho đến khi được lưu. – afxjzs