আরআর বিকাশের কিছু উচ্চাকাঙ্ক্ষী জুনিয়র / নতুনদের জন্য সমস্ত উত্তরগুলির একটি সামান্য আপডেট এবং একটি সামঞ্জস্য যা অবশ্যই এখানে কিছু ব্যাখ্যার জন্য আসবে।
অর্থ দিয়ে কাজ করা
:decimal
@ মল্ফের পরামর্শ অনুসারে ডিবিতে অর্থ সঞ্চয় করতে ব্যবহার করুন (এবং অর্থের সাথে কাজ করার সময় আমার সংস্থা সোনার মান হিসাবে কী ব্যবহার করে)।
# precision is the total number of digits
# scale is the number of digits to the right of the decimal point
add_column :items, :price, :decimal, precision: 8, scale: 2
কয়েকটি পয়েন্ট:
মাইগ্রেশন কীভাবে তৈরি করা যায়
উপরের বিষয়বস্তু সহ স্থানান্তর তৈরি করতে, টার্মিনালটিতে চালান:
bin/rails g migration AddPriceToItems price:decimal{8-2}
অথবা
bin/rails g migration AddPriceToItems 'price:decimal{5,2}'
হিসাবে এই ব্লগ পোস্টে ব্যাখ্যা ।
মুদ্রার বিন্যাস
চুম্বন অতিরিক্ত লাইব্রেরি বিদায় এবং ব্যবহার বিল্ট ইন সাহায্যকারী। number_to_currency
@ মল্ফ এবং @ ফ্যাকুন্ডোফারিয়াস প্রস্তাবিত হিসাবে ব্যবহার করুন ।
সাথে খেলতে number_to_currency
পাগল কনসোলে সাহায্যকারী, একটি কল পাঠাতে ActiveSupport
এর NumberHelper
সাহায্যকারী অ্যাক্সেস করার জন্য বর্গ।
উদাহরণ স্বরূপ:
ActiveSupport::NumberHelper.number_to_currency(2_500_000.61, unit: '€', precision: 2, separator: ',', delimiter: '', format: "%n%u")
নিম্নলিখিত আউটপুট দেয়
2500000,61€
অন্যান্য পরীক্ষা করে দেখুন options
এর number_to_currency সাহায্যকারী।
কোথায় রাখব
আপনি এটিকে অ্যাপ্লিকেশন সহায়কতে রাখতে পারেন এবং এটি কোনও পরিমাণের জন্য দর্শনের অভ্যন্তরে ব্যবহার করতে পারেন।
module ApplicationHelper
def format_currency(amount)
number_to_currency(amount, unit: '€', precision: 2, separator: ',', delimiter: '', format: "%n%u")
end
end
অথবা আপনি এটিকে Item
মডেলটিতে একটি উদাহরণ পদ্ধতি হিসাবে রাখতে পারেন এবং যেখানে দামটি বিন্যাস করতে হবে সেদিকে ফোন করতে পারেন (ভিউ বা সহায়তাকারীদের ক্ষেত্রে)।
class Item < ActiveRecord::Base
def format_price
number_to_currency(price, unit: '€', precision: 2, separator: ',', delimiter: '', format: "%n%u")
end
end
এবং, আমি কীভাবে number_to_currency
একটি কনট্রোলারের অভ্যন্তরটি ব্যবহার করি তার একটি উদাহরণ ( negative_format
বিকল্পটি লক্ষ্য করুন , অর্থ ফেরতের প্রতিনিধিত্ব করতে ব্যবহৃত হবে)
def refund_information
amount_formatted =
ActionController::Base.helpers.number_to_currency(@refund.amount, negative_format: '(%u%n)')
{
# ...
amount_formatted: amount_formatted,
# ...
}
end
DECIMAL(19, 4)
একটি জনপ্রিয় পছন্দ পরীক্ষা এই এছাড়াও পরীক্ষা এখানে সিদ্ধান্ত নিতে কত দশমিক ব্যবহারের স্থান, আশা সাহায্য করে বিশ্ব মুদ্রা বিন্যাস করা হয়।