我听说尝试在Rails中访问模型中的cookie是完全不可能的。
然而,这是我的情况:
这是一个管理费用的小应用程序。金额以欧元存储在数据库中,但用户可以设置不同的货币,以便以用户想要的货币显示金额。为此,我已经覆盖了金额属性getter和setter,因此在获取和设置金额时应用汇率。
问题在于我将用户选择的货币存储在cookie中,并且覆盖的setter和getter在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
我如何处理这种情况?
答案 0 :(得分:0)
您可以访问控制器中的Cookie,然后通过调用控制器中的my_expences.set_exchange_rate(cookie[:exchange_rate])
之类的内容立即将其传递给您的模型。