В моем представлении Index для кнопки редактирования у меня есть следующий код:
<td id="EditButton"><%= link_to "Edit", edit_comment_path(data.Metric+","+data.HouseId+","+data.ADate.to_s) %></td>
В моем контроллере Comment у меня есть следующий код для редактирования и обновления:
def edit
edit_array=params[:id].split(',')
@one = edit_array[0]
@two = edit_array[1]
@three = edit_array[2]
@comment = Comment.find_by(Metric: @one , HouseId: @two , ADate: @three)
end
def update
@comment = Comment.find(params[:id])
if @comment.update(comments_params)
redirect_to metrics_path
else
render 'edit'
end
end
У меня есть этот тег формы в моей форме редактирования:
<%= form_for :comments_controller, url: comments_path(@comment) do |f| %>
Поля в форме редактирования:
<tr>
<td><%= @comment.Metric %></td>
<td><%= @comment.HouseId%></td>
<td><%= @comment.ADate%></td>
<td><%= f.select :IsAlarmCreated, options_for_select([["True", "1"], ["False", "0"]]), :class => 'chosen-select', :required => true, selected: @comment.IsAlarmCreated %></td>
<td><%= f.text_field :UserName, value: @remote_user %></td>
<td><%= f.text_field :Comments, value: @comment.Comments, required: true %></td>
<td><%= f.submit "Save"%></td>
Я выполняю следующие действия: Индексная страница загружается После нажатия на кнопку редактирования, онаПерейдите к странице редактирования. Я внесу некоторые изменения в поля и нажмите «Сохранить». Теперь он перенаправляется в комментарии со следующей ошибкой:
Не удалось найти действие 'create' для CommentsController
Ожидается перенаправление в представление индекса контроллера Metric после обновления значений в mysql.