34

W poniższym scenariuszu muszę sprawdzić wartość właściwości obiektu w pętli fields_for.Uzyskaj wartość pola obiektu wewnątrz pętli fields_for

<%= f.semantic_fields_for :review_details do |rd| %> 
    <%= rd.input :review_criteria_id, :as=>:hidden %> 
<% end %> 

jak w pętli :review_criteria_id jest renderowany jako pola ukryte, ale mam scenariusz, gdzie mam wydrukować trochę więcej informacji, jeśli jest to określone kryteria. Jak mogę uzyskać wartość review_criteria_id w pętli. użyłem:

rd.review_criteria_id 

Ale ponieważ rd jest formtastic obiektu, więc nie mogłem uzyskać wartość :review_crieteria_id.

Odpowiedz

64

Formtastic dodaje dodatkowe funkcje do kodu Rails, ale nie zabrać istniejących funkcjonalności więc następujące dokumenty powinny pracować dla Ciebie:

rd.object.review_criteria_id 

„przedmiot” mogą być używane w zwykłych Rails tworzyć pomocników aby uzyskać dostęp do ukryty obiekt, a Formtastic honoruje tę konwencję.

+0

Dodam, że można to znaleźć, debugując widok. Dodanie instrukcji debugowania (w tym przypadku byebug) '<% byebug %>' wewnątrz bloku 'fields_for' daje osobie dostęp do samego obiektu budowania. Następnie możesz wywołać "metody" na wspomnianej klasie i rozpocząć badanie. – Tass

9

mam go, czy mogę używać

rd.object.review_criteria_id 

object jest domyślny obiekt wrapper dla pętli fields_for.

Powiązane problemy