В нашем приложении rails 3.1.0 есть rfq, quote и test_item. RFQ содержит множество предложений и тестовых заданий. Цитата относится к запросу предложений и содержит множество тестовых заданий. Тестовый элемент имеет много запросов предложений и цитат.
При создании предложения элементы теста в запросе запроса передаются непосредственно в новую форму предложения. Вот код в новом контроллере в кавычках:
@quote = @rfq.quotes.new()
@quote.test_items << @rfq.test_items
Вот код представления в новой форме цитаты для отображения тестовых элементов, переданных из rfq:
<%= simple_form_for([@rfq, @quote]) do |f| %>
....
<% @quote.test_items.each do |t| %>
<p><%= f.association :test_items, :label => false %><%= link_to_remove_fields "remove", f %></p>
<% end %>
....
<% end %>
Приведенный выше код представления может отображать тестовый элемент, переданный из запроса запроса, и поддерживать ассоциацию (в цитате много тестовых элементов), что и нужно приложению. Однако он также отображает поле выбора для тестового элемента, который здесь не нужен (невозможно изменить тестовый элемент в кавычках, кроме как удалить. Также t в цикле не был полезен). Нам нужно только отобразить название тестовых элементов, сохранить ассоциацию (в цитате много тестовых элементов) и разрешить удаление тестового элемента (сделано с помощью link_to_remove_fields).
Есть ли чистый способ сделать это? Большое спасибо.