PHPFixing
  • Privacy Policy
  • TOS
  • Ask Question
  • Contact Us
  • Home
  • PHP
  • Programming
  • SQL Injection
  • Web3.0

Saturday, August 13, 2022

[FIXED] How to specify decimal precision in a simple_form number field (Rails)

 August 13, 2022     decimal, ruby-on-rails, simple-form     No comments   

Issue

So I have a decimal field with precision 2 in the database, meant to be used for currency. It works fine unless the last decimal place ends in 0, ie. 799.90. It will instead strip it to 799.9 when it's displayed in the field. I know about number_with_precision, but I haven't been able to use that helper method with the simple_form number field since it only takes a symbol and html options as arguments.

I figured then that I would need to create a custom input to extend simple_form's default number_field, but the syntax doesn't seem to be well documented, so I haven't been able to figure out how I might call number_with_precision in the definition of this custom input.

I essentially want to do what the OP of this question Formtastic number field with decimal precision? wanted with formtastic. Thanks!


Solution

If you can do it with formtastic you can usually do it with Simple Form in my experience. Try this:

<%= f.input :sales_price, :input_html => {value: number_with_precision(f.object.sales_price, precision: 2) } %>

If using an input_field, then you don't need the :input_html:

<%= f.input_field :sales_price, value: number_with_precision(f.object.sales_price, precision: 2) %>


Answered By - toxaq
Answer Checked By - Mary Flores (PHPFixing Volunteer)
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg
Newer Post Older Post Home

0 Comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Total Pageviews

Featured Post

Why Learn PHP Programming

Why Learn PHP Programming A widely-used open source scripting language PHP is one of the most popular programming languages in the world. It...

Subscribe To

Posts
Atom
Posts
Comments
Atom
Comments

Copyright © PHPFixing