7

Is there a easy way to add a new permitted parameter to controllers in Spree without altering the defaults ?

I'm trying to change the orders_params method in OrdersController.

Cassio Cabral
  • 2,652
  • 3
  • 23
  • 37

2 Answers2

12

You don't need to override anything, you have to do this in your spree initializer

To add a strong param to products controller...

Spree::PermittedAttributes.product_attributes << :new_attribute

and so on..

check this file: https://github.com/spree/spree/blob/master/core/lib/spree/permitted_attributes.rb?source=c

or this blog post: http://blog.crowdint.com/2014/06/24/how-to-add-custom-attributes-in-spree.html

Deepak Mahakale
  • 22,834
  • 10
  • 68
  • 88
Steven Barragán
  • 1,144
  • 1
  • 11
  • 21
3

You'll probably want to override this function:

https://github.com/spree/spree/blob/v2.1.4/core/lib/spree/core/controller_helpers/strong_parameters.rb#L28-L32

to include the parameters you want. The Spree Logic Customization Guide should give you instructions on how to override that method in that class easily.

gmacdougall
  • 4,901
  • 1
  • 16
  • 21