Я довольно новичок в Ruby, и меня попросили помочь с программой. По какой-то причине для моей жизни я не могу понять мой синтаксис правильно. Если отношения с агентом не равны? Я использую && в своем коде, но он не выполняет то, что мне нужно, поэтому любая помощь будет принята с благодарностью!
if whitelisted['agent_relationships'].none? {|r| r['jsonmodel_type'] == 'series_system_agent_record_creation_by_agent_relationship'}
whitelisted['agent_relationships'].unshift({
'jsonmodel_type' => 'series_system_agent_record_creation_by_agent_relationship',
'relationship_target_record_type' => 'agent_corporate_entity',
'ref' => json.creating_agency[0]['ref'],
'relator' => 'created_by',
'start_date' => json.creating_agency[0]['start_date'],
})
end
if whitelisted['agent_relationships'].none? {|r| r['jsonmodel_type'] == 'series_system_agent_record_ownership_relationship'}
whitelisted['agent_relationships'].unshift({
'jsonmodel_type' => 'series_system_agent_record_ownership_relationship',
'relationship_target_record_type' => 'agent_corporate_entity',
'ref' => json.responsible_agency['ref'],
'relator' => 'is_controlled_by',
'start_date' => json.responsible_agency['start_date'],
})
end
whitelisted['responsible_agency'] = json.responsible_agency
whitelisted['creating_agency'] = json.creating_agency
Извините, только быстрое редактирование. Чтобы понять это .none? потому что я использую устаревшую версию Ruby для более старой программы. Не то, что я могу изменить, потому что это не мой выбор. Чтобы добавить я хочу рефакторинг этот код. Я знаю, это уже работает. Я уже попробовал несколько способов, и моя голова не может обернуться вокруг того, как это сделать. Например. Я пытался
if whitelisted['agent_relationships'].none? {|r| r['jsonmodel_type'] == 'series_system_agent_record_creation_by_agent_relationship' && 'series_system_agent_record_creation_by_agent_relationship'}
whitelisted['agent_relationships'].unshift({
'jsonmodel_type' => 'series_system_agent_record_creation_by_agent_relationship',
'relationship_target_record_type' => 'agent_corporate_entity',
'ref' => json.creating_agency[0]['ref'],
'relator' => 'created_by',
'start_date' => json.creating_agency[0]['start_date'],
} && {
'jsonmodel_type' => 'series_system_agent_record_creation_by_agent_relationship',
'relationship_target_record_type' => 'agent_corporate_entity',
'ref' => json.creating_agency[0]['ref'],
'relator' => 'created_by',
'start_date' => json.creating_agency[0]['start_date'],
}
)
end
whitelisted['responsible_agency'] = json.responsible_agency
whitelisted['creating_agency'] = json.creating_agency
Привет еще раз! Теперь я также попробовал другой метод, и я не сталкиваюсь ни с какими ошибками, однако что-то кажется неправильным, так как эта программа создает отношения из белого списка, которые могут быть переданы в реагирующий интерфейс. Теперь ни одно из отношений не появляется на переднем крае реакции с использованием приведенного ниже кода, и хотя я не сталкиваюсь с какими-либо ошибками, он все еще не работает.
if whitelisted['agent_relationships'].none? {|r| r['jsonmodel_type'] == 'series_system_agent_record_ownership_relationship' && 'series_system_agent_record_creation_by_agent_relationship'}
[{
'jsonmodel_type' => 'series_system_agent_record_ownership_relationship',
'relationship_target_record_type' => 'agent_corporate_entity',
'ref' => json.responsible_agency['ref'],
'relator' => 'is_controlled_by',
'start_date' => json.responsible_agency['start_date'],
},{
'jsonmodel_type' => 'series_system_agent_record_creation_by_agent_relationship',
'relationship_target_record_type' => 'agent_corporate_entity',
'ref' => json.creating_agency[0]['ref'],
'relator' => 'created_by',
'start_date' => json.creating_agency[0]['start_date'],
},].each { |hsh| ['agent_relationships'].unshift(hsh) }
end
whitelisted['responsible_agency'] = json.responsible_agency
whitelisted['creating_agency'] = json.creating_agency