从模型访问cookie

时间:2015-04-08 13:24:23

标签: ruby-on-rails cookies

我听说尝试在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

我如何处理这种情况?

1 个答案:

答案 0 :(得分:0)

您可以访问控制器中的Cookie,然后通过调用控制器中的my_expences.set_exchange_rate(cookie[:exchange_rate])之类的内容立即将其传递给您的模型。