Я застрял на получении определенных атрибутов объекта в рельсах.Я могу видеть все атрибуты объекта, если я console.log(installable)
, но по какой-то причине я могу использовать только некоторые из них.
Мне нужно получить имя производителя из атрибутов.Я пробовал несколько разных способов, и ни один из них, похоже, не работает.Результат всегда «неопределен».Но если я пытаюсь получить ID из атрибутов, то это работает.Я могу видеть и идентификатор, и имя производителя в разделе атрибутов журнала консоли, но почему я не могу получить имя производителя в своей функции?
Это все делается в файле model_view.coffee
Также:
installable.get('manufacturer_name')
- возвращает неопределенное значение
installable.get('id')
- возвращает правильный идентификатор
Я пытался installable.attributes['manufacturer_name']
, который не работает, но installable.attributes['id']
работает.
Этот код просматривает все геометрии и находит для них устанавливаемые:
@geometries.forEach (model) =>
installable = @findInstallable(model)
console.log(installable)
Функция, которая находит устанавливаемый объект:
findInstallable: (geometry) ->
installableId = geometry.get('installable_id')
installable = null
_.any UPB.InstallationBuilder.installableCollectionRegistry, (collection) =>
installable = collection.get(installableId)
!!installable # stop searching after the first match
installable
Это то, что я получаю отжурнал консоли:
Installable {cid: "c468", attributes: {…}, _changing: false, _previousAttributes: {…}, changed: {…}, …}
attributes:
adjusted_type_id: 40
area_m2: 7.89
can_install: false
can_uninstall: false
color_class: "new"
detail_order_deadline: null
drawing_files: []
element_id: 33
id: 330
identical_id: 33
installation_date: null
installation_planning_finished: false
installation_team_id: null
manufacturer_color_code: "#FF6600"
manufacturer_installation_buffer_days: null
manufacturer_name: "ABC Prefab"
manufacturer_type: "Company"
name: "MBD-10032"
part_dimensions: "200 / 6595 / 1200"
project_name: "ABC1 : Concrete (ABC Prefab)"
revision: null
ship_delivery_note_id: null
ship_delivery_note_number: null
source_id: 33
source_type: "Element"
stage_id: 2
state: "new"
transport_by_ship: false
type_color: "#993300"
type_id: 4
url: "/company_stages/2/elements/33"
volume_m3: 0.8477
weight_kg: 2060