Каков наилучший и правильный способ установки поля simple_forms_for, который содержит коллекцию для поля выбора, но значения, которые должны содержаться в select, должны быть получены из модели, которая не имеет - прямая связь с моделью вызывающих полей?Рельсы, создающие коллекцию без ассоциации
Например, у меня есть simple_forms_for формы, как следует:
<%= simple_form_for(@customer) do |f| %>
<%= f.error_notification %>
<fieldset>
<div class="form-inputs">
<%= f.input :code, required: true %>
<%= f.input :name, required: true %>
<%= f.input :location, required: true %>
<%= f.input :service_level %>
<%= f.input :golive_date, :as => :date_picker %>
<%= f.input :connection_type %>
<%= f.input :service_centre %>
<%= f.input :end_date, :as => :date_picker %>
<%= f.input :sla %>
<%= f.input :project_code %>
</div>
<div class="form-actions">
<%= f.button :submit, :class => "btn btn-primary" %>
</div>
</fieldset>
<% end %>
Я хочу сделать: service_level поля в поле выбора и добавить коллекцию к нему, однако таблице, которая хранит значение подстановки не связано с таблицей Customer для формы.
class Lookup < ActiveRecord::Base
validates_presence_of :name, :description
has_many :lookup_values
accepts_nested_attributes_for :lookup_values, :reject_if => lambda { |a| a[:content].blank? }, :allow_destroy => true
end
class LookupValue < ActiveRecord::Base
belongs_to :lookup
end
class CreateLookups < ActiveRecord::Migration
def change
create_table :lookups do |t|
t.string :name
t.string :description
t.timestamps
end
end
end
class CreateLookupValues < ActiveRecord::Migration
def change
create_table :lookup_values do |t|
t.integer :lookup_id
t.string :name
t.string :value
t.timestamps
end
end
end
Я в принципе хочу, чтобы иметь возможность заполнить значения избранных, используя следующий SQL-запрос:
select v.name||' - '||v.value
from lookup_values v,
lookups l
where v.lookup_id = l.id
and l.name = 'Service level';
Фактическое значение, которое сохраняется в: service_level поле должно быть значение v.name.
Все примеры коллекций, которые я видел, как представляется, показывают, как создавать выборки на основе моделей, которые имеют связь между ними, просто интересно, есть ли простой способ достичь этого без ассоциации.
0 простой поиск в Google ответил на первый вопрос, просто необходимо добавить: include_blank => false в поле ввода. – shwashbuckle