<%# use like this: render 'components/radio', label: 'Banana chips', name: 'fave_snacks' %> <%# you can pass in an optional key for 'def'ing values to it %> <%# if you have a set of radios, consider using components/_radio_set %> <% value = label.downcase.tr(" ", "_") %> <% id = "radio_#{name}_#{value}" %> <% change ||= false %> <% key ? change = "(def '#{key}' '#{value}')" : key = false %> <% if change %> <% end %>