Wiesz, że niektóre narzędzia do śledzenia błędów (i inne oprogramowanie) umożliwiają dodawanie pól niestandardowych?Szyny - Dodawanie pól niestandardowych w czasie wykonywania w ActiveRecord
Zazwyczaj odbywa się to ze struktury danych, który wygląda mniej więcej tak:
Items
----------
ID | NAME | ITEM_TYPE_ID
FieldDefinitions
---------------------------------------
ID | ITEM_TYPE_ID | FIELD_NAME | FIELD_TYPE
FieldValues
---------------------------------------
ID | FIELD_ID | ITEM_ID | VALUE
Próbuję dowiedzieć się najlepszym sposobem podejścia ten projekt w Rails. Będzie wiele modeli, które chcę umożliwić rozszerzanie prostych właściwości.
Kiedy otrzymam numer Item
, chciałbym dodać skrót wartości pól dodatkowych, które zostały zdefiniowane dla tego modelu.
Korzystanie z iniekcji prawdopodobnie byłoby lepszą formą. Podobnie jak self.field_values.inject ({}) {| memo, fv | memo [fv.field_definition] = fv} lub podobne. –
To jest to, co myślałem, że użyję ... zastanawiałem się, czy był bardziej "ruby" sposób to zrobić ... –
Zwykły sposób prawdopodobnie nie użyłby skrótu w ogóle i po prostu skorzystał z wygenerowanego skojarzenia metody, ale myślę, że jest jakiś powód, dla którego byłeś szczególnie zainteresowany hash ...? –