Я пытаюсь создать новое отношение ActiveRecord, принимая идентификатор current_user и идентификатор назначения в качестве внешних ключей простым нажатием кнопки пользователем.Пользователь будет принимать назначение и будет создавать эту новую связь в записи.Я уже тестировал модели в консоли и принимаю / отклоняю их работу правильно, как и предполагалось.
Когда я нажимаю кнопку, появляется сообщение об ошибке: ActiveRecord :: RecordNotFound в ContractsController # create
form_for скрытого_поля не выполняется«т пройти assignment.id правильно, параметр говорит: { "utf8"=> "✓", "authenticity_token"=> "dkGBIQxS06xiu9GR6 + aYLgA6ZArgFD5iipl7HKDCFPdXhDKjX6dSajrLlrwvLlj4IzGutcX1lT51IhM5ksxt4Q ==", "assignment_id"=> [ ""], "совершить"=>«Accept»}
Как видите, assignment_id пуст.Не уверен, что я делаю это правильно, так, как правильно это сделать?
Я в основном скопировал код из учебника Майкла Хартла по созданию Twitter, концепция похожа на пользователя, следующего за другим пользователем.Я уже проверил, что запись о назначении существует с помощью команды find (#) в консоли rails.
_accept.html.erb
<%= form_for(current_user.active_contracts.build, local: true) do |f| %>
<div><%= hidden_field_tag :assignment_id, @assignment.id %></div>
<%= f.submit "Accept", class: "btn btn-primary" %>
<% end %>
ContractController.rb
def create
@assignment = Assignment.find(params[:assignment_id])
current_user.accept(@assignment)
redirect_to @assignment
end
назначение # индекс
<div class="col-md-9">
<h2><%= assignment.event_title %></h2><br>
<strong>Date: </strong><%= assignment.date_start.strftime("%D") %><br>
<strong>Time: </strong><%= assignment.time_start.strftime("%I:%M %p") %> to <%= assignment.time_end.strftime("%I:%M %p") %><br>
<strong>Address:</strong><br>
<address><%= assignment.addressline1 %><br>
<% if !assignment.addressline2.blank? %>
<%= assignment.addressline2 %><br>
<% end %>
<%= assignment.city %>, <%= assignment.state %> <%= assignment.zip %>
</address>
</div>
<% if assignment.user_id == current_user.id %>
<div class="col-md-3">
<%= link_to "Update", title_assignment_path(assignment), class: "btn btn-primary btn-block" %>
</div>
<% end %>
<% if current_user.ssp? %>
<div class="col-md-3">
<%= render 'accept' %>
</div>
<% end %>
</div>
<% end %>
</div>