Извините за полуобобщенное название, но я все еще довольно новичок в рельсах и не могу придумать краткий способ поставить вопрос.
У меня есть базовая настройка модели habtm: Проектимеет много ресурсов и ресурс может иметь много проектов.У меня правильно настроены база данных и модели, и я могу делать все, что мне нужно, через консоль, но у меня возникают проблемы с переводом всего этого в представление.
В представлении show
для Project яхотите иметь возможность создать ресурс и автоматически назначить его текущему проекту .Вот мой основной HTML:
<p>
<b>Name:</b>
<%=h @project.name %>
</p>
<h2>Equipment</h2>
<ul>
<% @project.resources.each do |r| %>
<li><%=h r.name %></li>
<% end %>
</ul>
<h2>Add A Resource</h2>
<% form_for(@project) do |f| %>
<%= f.error_messages %>
<p>
Resource Name:<br />
<%= f.text_field :resources %>
</p>
<p>
<%= f.submit 'Create' %>
</p>
<% end %>
Очевидно, что эта форма не будет работать, но я не знаю, что делать дальше.Я искал различные примеры, но не нашел ни одного для того, что я пытаюсь сделать здесь.
Одна вещь, о которой я подумал, это изменить форму на form_for(Resource.new)
и включить скрытый ввод @project.id
.И затем, когда resource_controller
обрабатывает форму, проверьте этот идентификатор и перейдите оттуда.Это похоже на уродливый клудж.