Over a million developers have joined DZone.

Helper To Determine If Radio/checkbox Needs To Be Checked

DZone's Guide to

Helper To Determine If Radio/checkbox Needs To Be Checked

· ·
Free Resource
I frequently have to use methods such as 'radio_button' and 'check_box_tag' when I don't have an object with a method that will automatically determine the value of the input field.  Therefore, I have to check to see if a certain parameter has been passed, and if so, if the parameter's value matches that of the input's value.  This method does that.

It's designed to be used in a Rails helper.  You can either pass it the object, method, and value (the same parameters as, for example, radio_button) or name and value (the same parameters as radio_button_tag).

def checked?( *args )
  if args.length == 3
    object, method, value = args
    if params[object] && params[object][method] && params[object][method] == value
  elsif args.length == 2
    name, value = args
    if params[name] && params[name] == value

Here's an example usage:
<%= radio_button 'person', 'age', '12', :checked => checked?( 'person', 'age', '12' ) %>

If params[:person][:age] exists and it equals '12', then 'checked?' returns 'checked'; otherwise, it returns nil.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}