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.

7 comments:

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

    ReplyDelete
  2. This was very helpful. Thnx

    ReplyDelete
  3. This comment has been removed by the author.

    ReplyDelete
  4. This comment has been removed by the author.

    ReplyDelete
  5. 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
  6. Thanks ! Works perfectly ! :D

    ReplyDelete