我讀的書簡單地通過Sitepoint軌道和給予這些模型:問題on Rails的燈具創建序列
story.rb
class Story < ActiveRecord::Base
validates_presence_of :name, :link
has_many :votes do
def latest
find :all, :order => 'id DESC', :limit => 3
end
end
def to_param
"#{id}-#{name.gsub(/\W/, '-').downcase}"
end
end
vote.rb
class Vote < ActiveRecord::Base
belongs_to :story
end
並給予這燈具
stories.yml
one:
name: MyString
link: MyString
two:
name: MyString2
link: MyString2
votes.yml
one:
story: one
two:
story: one
這些測試失敗:
story_test.rb
def test_should_have_a_votes_association
assert_equal [votes(:one),votes(:two)], stories(:one).votes
end
def test_should_return_highest_vote_id_first
assert_equal votes(:two), stories(:one).votes.latest.first
end
但是,如果我扭轉故事的順序,第一個斷言和提供對於第一個斷言的第一票,它通過
story_tes t.rb
def test_should_have_a_votes_association
assert_equal [votes(:two),votes(:one)], stories(:one).votes
end
def test_should_return_highest_vote_id_first
assert_equal votes(:one), stories(:one).votes.latest.first
end
我複印了一切,因爲它是在書中,並沒有看到這方面的勘誤。我的第一個結論是,夾具正在創建自下而上的記錄,因爲它已被宣佈,但是這並沒有使任何想法成爲可能嗎?
有什麼想法?
編輯:我使用的Rails 2.9在運行RVM
我以前從未見過這個錯誤(但我也非常喜歡ruby)。你有沒有試圖命名具有較少通用名稱的夾具中的物品?特別是故事。 – Augusto 2011-02-09 22:21:47