Below my current code. I want to default to "WI" if it's a new record. <%= f.select :state, Address.state_select, :state? ? 'WI' : :state %> This does not work. It gave me the following error: ctionView::Template::Error (undefined method `merge' for "WI":String): 13: </p> 14: <p> 15: <%= f.label :state %> 16: <%= f.select :state, Address.state_select, :state? ? 'WI' : :state %> 17: </p> 18: <p> 19: <%= f.label :zip %>
on 2016-10-03 21:57
on 2016-10-07 14:15
First of all, I don't see any invocation of a method 'merge' in your code, so I can't comment on that. What *is* odd, is the expression :state? ? 'WI' : :state It mentions two different symbols: :state? and :state. The condition is just :state?. If you use a symbol as a condition, it is always considered true ("every symbol is true"). Hence, the whole expression always returns the string 'WI'.