Я пытаюсь удалить часть кода из моего контроллера, чтобы он выглядел чистым и тонким. В одном из моих контроллеров мне приходится использовать много условий, и это заставляет мой контроллер выглядеть очень тяжелым. Я просто хочу удалить только этот блок кода в другом файле и хочу включить его в мой контроллер.
Код моего контроллера
Здесь вы можете видеть, что я использую некоторую логику, такую как:
if search == 'Primary'
if rain_fall_type == "Agriculture, Forestry and Fishing"
if compare == "None"
search = "None"
rain_fall_type
elsif compare == "All"
rain_fall_type = compare
data = [
"Crops",
"Livestock",
"Forestry and Logging",
"Fishing and Aquaculture",
]
else
search = "None"
rain_fall_type = compare
end
elsif rain_fall_type == "None"
rain_fall_type
data = [
"Primary",
]
else
data = [
"Agriculture, Forestry and Fishing",
"Mining and Quarrying",
]
end
......
Я хочу, чтобы этот раздел находился в некоторых других файлах, и хочу, чтобы он назывался как есть. Я могу написать функцию и метод и возвращать значения. У меня вопрос, могу ли я вызвать этот блок кода как есть, не возвращая функцию или что-то еще. Например, мне нужно сделать что-то вроде этого:
a = if test == "a"
#my code
end
#and in my controller
def test
a
end
Можем ли мы сделать это в ruby, поместить весь блок кода в один файл и вызвать это значение в моем контроллере.