I have been struggling with what I perceive to be a simple problem:
Working in Rails 3.0.8 with the simple_form 1.4 gem.
I have two models, owners and owner_
You'll have to use the :label_method option for this.
<%= f.association :owner_type, :include_blank => false, :label_method => lambda { |owner| "#{owner.name} | #{owner.subtype_name}" } %>
or, if you define a select_label method on the owner's class, you can do
<%= f.association :owner_type, :include_blank => false, :label_method => :select_label %>
The easiest way to do this is implement an method to_label on your Model. Like this:
class OwnerType < ActiveRecord::Base
def to_label
"#{name} | #{subtype_name}"
end
end
SimpleForm by default will search fot this methods on your model and use it as label_method, in this order:
:to_label, :name, :title, :to_s
You can also change this option on your simple_form.rb initializer, or you can pass a block or a method to :label_method
option of your input.