处理价格& rails app

时间:2016-04-09 10:01:59

标签: ruby-on-rails forms ruby-on-rails-4 currency rails-models

我按照本教程http://pauldeardorff.com/2013/08/14/handling-currencies-in-ruby-on-rails-apps/关于在rails应用中添加价格和货币选择。

在初学者应用程序中,我的模块设置与简单教程

完全相同

当我第一次为我的产品类渲染新动作时,我的问题似乎就出现了。本教程建议在rails Lib文件夹中创建money_attributes文件。

# lib/money_attributes.rb
module MoneyAttributes
  extend ActiveSupport::Concern
  module ClassMethods
    def money_attributes *args      
      args.each do |attribute|
        cents_attribute = "#{attribute}_in_cents"
        define_method attribute do
          send(cents_attribute).try("/", 100.0)
        end

        define_method "#{attribute}=" do |value| 
          value.gsub!(/[^\d.]/,"") if value.is_a? String           
          send("#{cents_attribute}=", value.try(:to_f).try("*", 100))
        end

        define_method "#{attribute}_money" do                                
          Money.new(send("#{attribute}_in_cents").to_f || 0,send("currency")).format 
        end 

        attr_accessible attribute if accessible_attributes.include?(cents_attribute)
      end
    end
  end
end

我的应用程序吐出未定义的局部变量或方法`accessible_attributes'。

我知道错误是什么,因为' accessible_attributes'已经停止使用轨道4我相信。我的问题是我不知道如何解决这个问题。此外,我的控制强参数如下所示

     products_controller.rb

......         私人

    def product_params
      params.require(:product).permit(:price, :currency)
    end 

如果有人知道如何解决这个问题,我会非常感激它,或者可能有一个更符合教程的方法。我的问题是我希望在我的模型表格中单独选择价格和货币。就像在本教程中指定的一样。任何帮助将不胜感激。

0 个答案:

没有答案