フォームを送信しようとすると、次のエラーが発生します。Couldn't find Event without an ID
コントローラーは次のとおりです。
def create
@event = Event.find(params[:event_id])
@event_sponsorship = EventSponsorship.new(params[:event_sponsorship])
@event_sponsorship.sponsor_id = current_user.id
@event_sponsorship.event_id = @event
respond_to do |format|
if @event_sponsorship.save
format.html { redirect_to @event_sponsorship, notice: 'Event sponsorship was successfully created.' }
format.json { render json: @event_sponsorship, status: :created, location: @event_sponsorship }
else
format.html { render action: "new" }
format.json { render json: @event_sponsorship.errors, status: :unprocessable_entity }
end
end
end
フォームは次のとおりです。
<%= simple_form_for(@event_sponsorship) do |f| %>
<%= f.error_notification %>
<div class="signin">
<%= f.hidden_field :event_id, value: @event %>
<%= f.hidden_field :sponsor_id, value: current_user.id %>
<%= f.button :submit, :class => "btn btn-success btn-block", value: "Yes" %>
</div>
<% end %>
このcreate
メソッドではevent_id
、URL から を見つける必要があります。どこが間違っていますか?