Я слышал, что попытка получить доступ к куки-файлам в модели в Rails полностью исключена.Доступ к файлам cookie из модели
Однако это моя ситуация:
Это небольшое приложение, чтобы управлять своими расходами. Суммы хранятся в базе данных в евро, но пользователь может устанавливать разные валюты, поэтому суммы отображаются в валюте, которую хочет пользователь. Для этого я переопределил атрибут getter и setter, поэтому при получении и настройке суммы применяется обменный курс.
Дело в том, что я храню выбранную валюту пользователя в куки и переопределенная и присваивателя определены в Expense
модели, очевидно:
def quantity=(quantity)
update_rates
write_attribute(:quantity, @eu_bank.exchange(100*quantity.to_i, cookies[:currency], "EUR").cents)
end
def quantity
update_rates
c = read_attribute(:quantity)
@eu_bank.exchange(c.to_i, "EUR", cookies[:currency]).cents/100.0
end
Как я могу подойти к этой ситуации?
Действительно, это также предпочтительный шаблон при доступе к другим объектам уровня контроллера, таким как 'session' и' params', - просто передайте их модели, держите контроллер тонким. – Epigene