Zgodnie z opisem w this article używam automatycznych powiązań w urządzeniach. Na przykład, jeśli region ma identyfikator kraju, zamiast "country_id": 1, robię "country": "USA". "USA" jest etykietą w moim pliku countries.yml, więc urządzenia wie, jak się tym zająć. Działa to jednak tylko wtedy, gdy nie podasz wartości ID dla obiektu krajów. Więc nie mogę przypisać ID USA na 1. Ale jeśli nie przypiszemy, że jest to 1, to kończy się to jakąś dużą wartością 8974343 ... co jest dość dziwne. Czy istnieje sposób na to, aby urządzenia automatycznie generowały identyfikatory, które nie są zbyt wysokie? .... czy to w porządku?Automatyczne skojarzenia w urządzeniach ruby na szynach
Odpowiedz
Czytając dokumentację API, to jest dokładnie to, jak powinny wyglądać urządzenia generowane przez autogenerację - jeśli chcesz mieć wcześniej określoną wartość identyfikatora dla urządzenia, prawdopodobnie powinieneś go po prostu przydzielić.
Jeśli nie, dobrze, z docs API:
The generated ID for a given label is constant, so we can discover any fixture‘s ID without loading anything, as long as we know the label.
id wygląd oprawy pochodzi bezpośrednio od mieszania swoją nazwę (to jak „możemy odkryć identyfikator każdego Spotkań bez ładowania czegokolwiek, tak długo, jak znać etykietę ")
W ten sposób otrzymasz automatycznie wygenerowany identyfikator etykiety urządzenia.
Fixtures.identify(:reginald)
Ponieważ niniejszy artykuł bardzo mi pomógł, chciałbym podać aktualizację dla Rails 4.1.0.rc1: <% = ActiveRecord :: FixtureSet.identify (: reginald)%> – Chris
Musiałem uwzględnić klasę, która etykieta, o której mowa. http://ruby-journal.com/rails/define-fixtures-with-polymorphic-association/ – Shadoath
Ponieważ nie ma wystarczającej reputacji uwag, jest to rzeczywista Rails 4.1 dokumentacji:
Pod Fixture interpolacji etykiecie:
monkey_id: <%= ActiveRecord::FixtureSet.identify(:reginald) %>
pirate_id: <%= ActiveRecord::FixtureSet.identify(:george) %>
do zautomatyzowanego testu wymuszenie integralności urządzenia
class FixtureIntegrityTest < ActiveSupport::TestCase
context "fixture integrity" do
should "work" do
fixtures = Dir["test/fixtures/*.yml"].map do |file|
[file, File.basename(file).sub(/\..*/, "").singularize, YAML.load(ERB.new(File.read(file)).result)]
end
failures = fixtures.reject(&:last).map { |file,*| "#{file} is empty!"}
failures = failures.presence || fixtures.map do |_, klass, content|
content.select{ |_,fixture| fixture["id"] }.map do |name, _|
fixtures.map do |file, _, content|
content.select { |_,fixture| fixture[klass] == name }.map do |_, fixture|
"#{file} uses #{klass}: #{name}, but should use the id!"
end
end
end
end.flatten.compact
assert_equal [], failures
end
end
end
- 1. Profilowanie aplikacji ruby / ruby na szynach
- 2. Pomocników ścieżki Ruby na szynach
- 3. Jak zmienić trasę w ruby na szynach?
- 4. Jak przesłać plik w Ruby na szynach?
- 5. Mahout Plugin do ruby na szynach
- 6. Jak umiędzynarodowić zawartość ruby na szynach?
- 7. Ruby na szynach, wielokrotne sprawdzanie zerowych atrybutów
- 8. Jak manipulować DOM z Ruby na szynach
- 9. Ruby na szynach: Zagnieżdżone atrybuty, belongs_to relacja
- 10. web based ide do ruby na szynach?
- 11. Automatyczne rejestrowanie wyjątków w Ruby
- 12. Jak prekompilować aktywa w środowisku programistycznym na ruby na szynach?
- 13. ruby na szynach: renderowania partials na każdej pozycji na liście
- 14. Jak uzyskać listę kontrolerów i działań w ruby na szynach?
- 15. zmienić domyślny format daty w ruby na szynach?
- 16. Czy powinienem używać has_one lub belongs_to w ruby na szynach?
- 17. Jak debugować ruby na szynach w pluginach eclipse aptana
- 18. Jak mogę skopiować bazę danych mySQL w ruby na szynach?
- 19. logika ruby na szynach dla częściowego w układzie
- 20. Zmienna instancji a symbol w ruby na szynach (forma_for)
- 21. W jaki sposób zaimplementowano ruby na szynach has_many (i podobne)?
- 22. Jak zmienić liczbę symboli w Ruby (na szynach)?
- 23. reply_with nie działa w ruby na szynach. Czemu?
- 24. Przechowywanie danych w Ruby na szynach bez bazy danych
- 25. HOWTO pozycjonowanie według wagi w Ruby na szynach
- 26. wybierz i zmień w formularzu Ruby na szynach
- 27. Jak przelecieć przez miesiące w Ruby na szynach
- 28. Nie można przekonwertować zakresu na liczbę całkowitą (Ruby na szynach)
- 29. Zapobieganie Ruby na szynach 3 z parsowania JSON post
- 30. Jak usunąć pojedynczy wpis z sesji ruby na szynach?
Dlaczego uważasz, że ludzie akceptują odpowiedzi, ale nie głosują na nie? –