ошибка, которую вы получаете undefined method "Destination_name" for nil:NilClass
, заключается в том, что параметр (f
), который вы передаете, равен nil
Однако, я думаю, вы можете обновить модель и сделать код чище. (Я посмотрел на предложенную отредактированную редакцию и собрал эту информацию)
#app/models/destination.rb
class Destination < ActiveRecord::Base
#other code
def destination_name_with_kms
# I believe the attribute names should be lowercase
"#{Destination_name}.#{Destination_kilometre}"
end
end
#in your view
<%= form.collection_select(:destination_id, Destination.all, :id, destination_name_with_kms, {}, { :multiple => false } ) %>
Если вы хотите пойти еще дальше, я бы порекомендовал использовать драгоценный камень, например
Draper и переместите все форматирование пользовательского интерфейса в декоратор.