Ich bin immer noch ziemlich neu in Rails 3 zu testen, und ich verwende RSpec und Remarkable. Ich habe schon viele Posts und Bücher durchgelesen, aber ich bin irgendwie immer noch in Ungewissheit, wann ich den Namen des Vereins benutzen soll, wenn ich seine ID habe.Die perfekte Methode, um Rails 3-Assoziationen zu validieren und zu testen (mit RSpec/Remarkable)?
class Project < ActiveRecord::Base
has_many :tasks
end
class Task < ActiveRecord::Base
belongs_to :project
end
Wegen der guten Praxis, ich möchte, dass meine Attribute von Massenzuweisungen schützen:
class Task < ActiveRecord::Base
attr_accessible :project # Or is it :project_id??
belongs_to :project
end
Zunächst einmal möchte ich sicherstellen, dass ein Projekt nie ohne gültige Aufgabe besteht:
class Task < ActiveRecord::Base
validates :project, :presence => true # Which one is the...
validates :project_id, :presence => true # ...right way to go??
end
ich möchte auch darauf achten, dass das zugeordnete Projekt oder Projekt-ID ist immer gültig:
... und brauche ich die Validierung auf: Präsenz, wenn ich verwende: verbunden ??
vielen Dank für die Klärung, so scheint es, dass RSpec/Shoulda/Bemerkenswerte ich den Wald nicht sehen, weil alle Bäume nach Stunden des Lesens und versuchen, Sachen zu testen, mit mehr ...
Schöne, klare Frage. Um zu bestätigen, meinst du nicht, du willst "sicherstellen, dass eine Aufgabe ** niemals ** ohne ein gültiges (Eltern-) Projekt existiert"? –