レールアプリで価格と通貨の選択を追加する方法については、このチュートリアルのhttp://pauldeardorff.com/2013/08/14/handling-currencies-in-ruby-on-rails-apps/に従っています。レールアプリの価格と通貨の扱い
私は正確に簡単なチュートリアル
ように私のモジュールを設定しているスターターアプリでは私の問題は、私が最初に私の製品クラスのための新しいアクションをレンダリングするときに到着するようです。このチュートリアルでは、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
に見えますチュートリアルと一致するより良い方法を念頭に置いてください。私の問題は、私のモデルのフォーム内で価格と通貨の選択を別々にしたいということです。このチュートリアルで指定したのとまったく同じです。どんな助けでも大歓迎です。