У меня есть представление, что это метод index
другого контроллера, и я пытаюсь добавить форму на страницу, однако я получаю сообщение об ошибке
undefined method `errors' for nil:NilClass
Я вполне уверен, что это как-то связано с моей маршрутизацией, но мне трудно понять, где происходит ошибка.
Вот вид с формой
<% @song_ranks.each do |song_rank| %>
<tr>
<td><%= song_rank.title %></td>
<td style="padding-left: 15px;"><%= song_rank.artist %></td>
<td style="text-align: center;"><%= song_rank.ranknum %></td>
<td style="white-space: nowrap; padding-left: 35px;">
<td> <%= render 'layouts/songrankform', song_rank: @song_rank %> </td>
</td>
</tr>
<% end %>
вот метод в контроллере
def updaterank
respond_to do |format|
if @song_rank.update(song_rank_params)
format.html { redirect_to @band_song, alert: 'Song has been ranked.' }
format.json { render :show, status: :ok, location: @band_song }
else
format.html { render :edit }
format.json { render json: @band_song.errors, status: :unprocessable_entity }
end
end
Вот мой файл route.rb
resources :band_songs do
post 'upvote', to: 'band_songs#upvote'
post 'band_songs_action'
post 'updaterank', to: 'band_songs#updaterank'
end
Форма на самом деле является частью другой модели, которую я скопировал в это представление
Существует модель для этой частичной формы и другая модель для представления и контроллера, в которые я помещаю форму. Итак, я пытаюсь сделать так, чтобы форма в другом виде сохранялась в другой модели.