Я пытаюсь связать несколько моделей рельсов в моем приложении. Я пытаюсь позволить пользователям создавать обзоры на продукте, используя форму. Я пытаюсь использовать принцип DRY DRY.Rails модели ссылок в форме DRY
Сначала я сделал стол биты с битой name
, model year
и image
. Затем я создал таблицу производителей, в которой перечислены имена производителей летучих мышей. Мои летучие мыши модель belongs_to :manufacturer
и моя модель производителя has_many :bats
.
Вместо того, чтобы создавать несколько таблиц с использованием manufacturer
, (указав название производителя как минимум 3 раза за каждую летучую мышь), как я могу связать две мои модели вместе?
Моя форма отправлена к модели review
. В форме у меня уже есть <%= f.collection_select :bat_id, Manufacturer.all, :id, :manufacturer, include_blank: true %>
, в котором перечислены все возможные производители в выпадающем меню. HOWEVER, ничто не представлено в параметре :bat_id
в форме просмотра при его отправке.
--Один догадка иметь manufacturer_id
целое число, хранящуюся в модели летучей мыши как целое число в столбце manufacturer_id
(Примечание: уже сделал это, но я не знаю, как представить, что в такой форме?)
--Another догадка иметь летучая мышь модель наследует от модели производителя
Любая помощь очень ценится
Моя полная форма:
<%= form_for(@review) do |f| %>
<%= render 'shared/error_messages', object: f.object %>
<div class="field" align= "center">
<h3>Select bat</h3>
<%= f.collection_select :bat_id, Manufacturer.all, :id, :manufacturer, include_blank: true %>
<h3>What do you like about this bat?</h3>
<%= f.text_area :pros, placeholder: "Enter what you like..." %>
<h3>What do you not like about this bat?</h3>
<%= f.text_area :cons, placeholder: "Enter what you don't like..." %></br>
</div>
<div align="center">
<%= f.submit "Add Review", class: "btn btn-large btn-info" %>
</div>
<% end %>
я не могу заставить его работать с ': review' , Он говорит «NoMethodError» + «неопределенный метод« merge »для: manufacturer: Symbol« – Daniel
Привет, вы пробовали использовать «f.select» из моего примера? – rav
Я только что попробовал и получил раскрывающийся список, но ничего не представил в таблице 'review' – Daniel