Мне было интересно, есть ли более короткий / простой способ написать код ниже.
if statement
result = model.find_by(key => row[key.to_s])
else
result = model.find_by(key => row[key.to_s], secondkey => row[secondkey.to_s])
end
Я думал о чем-то вроде этого:
args = {key => row[key.to_s]}
result = model.find_by(args)
Но я незнаю, как это сделать.
Редактировать:
Спасибо за ваши ответы!И как мне написать это, если ситуация ниже?Мне нравится ставить args = {key => row[key.to_s]}
перед циклом, я стараюсь не проверять оператор каждый раз.
statement = true
rows.each do |row|
if statement
result = model.find_by(key => row[key.to_s])
else
result = model.find_by(key => row[key.to_s], secondkey => row[secondkey.to_s])
end
# more code
end