17 July 2008

Using checkbox for a multiple-value parameter in Rails

This wasn't obvious. Thanks to satish on rails I learned this is the way to do it:

 <input type="checkbox" name="customer[preferences][]" value="yellow"/>
 <input type="checkbox" name="customer[preferences][]" value="blue"/>
 etc

The extra [] at the end of the parameter name makes all the difference. In your controller, you can now reference

  params[:customer][:preferences]

and get a list.

5 comments:

  1. Thank you very much, this really helped me. Nice trick!

    ReplyDelete
  2. This was very helpful. Thnx

    ReplyDelete
  3. Very helpful! Thanks, I was wondering how to pass multiple values to the controller. But In my case I didn't need to use a matrix, just an array did the trick.

    ReplyDelete
  4. Thanks ! Works perfectly ! :D

    ReplyDelete