Ruby on Rails Form Calculator -
i build calculator app. before users saves record, should able input variables on form , nail "calculate" button see "how many units needs build something".
i created custom route:
get 'product_stock_calculator/:product_id', to: 'product_stocks#calculator'
model:
class productstock < activerecord::base ... end
controller:
class productstockscontroller < applicationcontroller ... def calculator @product_stock = productstock.new @product_stock.product_id = params[:product_id] end ... end
view:
product_stocks/calculator.html.erb <%= simple_form_for(@product_stock) |f| %> <div class="form-inputs"> <%= f.input :product_id, label: 'producto', collection: product.all, required: true %> <%= f.input :number_of_boxes, label: 'units build', required: true %> </div> <div class="form-actions"> <%= f.button :submit %> </div> <% end %>
how can submit form, create calculations , render view show calculation results without saving record?
same way anything.
you submit form route pointing controller action, perform calculations based on parameters.
for example:
routes.rb:
match '/calculate', "productstocks#calculate", via: 'post', as: :calculate
in controller:
def calculate @productstock = productstock.new(productstock_params) # strong parameters here @result = params[:productstock][:param1] * params[:productstock][:param2] # illustration render 'calculator' # render unsaved # new @producstock , can utilize @result in view end
and set form's action calculate_path
ruby-on-rails ruby simple-form
No comments:
Post a Comment