Одно из моих полей в моей таблице должно быть редактируемым.Я пытаюсь добиться этого с помощью некоторого JQuery, однако атрибут не обновляется в базе данных, вместо этого он просто полностью удаляет атрибут и становится нулевым.Однако в журналах моего сервера зафиксирован коммит с попыткой обновления атрибута, отображаемый в хэше.
Контроллер Rails:
def edit
respond_to do |format|
format.js { render partial: 'update-advise' }
end
end
def update
@pan.update_advise!
respond_to do |format|
format.js { redirect_to root_path }
end
end
Метод Pan Model:
def update_advise!
update_attributes!(advise: advise)
end
Это единственный атрибут, который я хотел бы редактировать.
Моя форма:
<div id='update-advise'>
<div>
<h2>New Advise Amount</h2>
</div>
<div>
<%= form_with model: @pan, remote: true do |f| %>
<%= f.text_field :advise %>
<%= f.submit 'Update' %>
<% end %>
</div>
</div>
И, наконец, там, где я пишу jquery, update-advise.js.erb
$("#condense-table").hide();
$("#update-advise").html("<%= escape_javascript(render :partial => 'update_advise_field') %>");
Как упоминалось выше, журнал сервера показывает фиксацию, но не обновляет базу данных:
Запущен PATCH "/ pans / 1" для 127.0.0.1 в 2019-03-19 17:07:43 -0400 Обработка PansController # обновляется как JS-параметры: {"utf8" => "✓", "authenticity_token" => "ccB9wsuhaeAfgpPizUOj / NGYntqNIV / C + h5xEZ3tKtyVjnE8kDk56yyt0yp0htt0yptt0hptrt_tgtt0ht9t9t0ht9t9t0ht9t9t0ht9)"pan" => {"advise" => "600"} , "commit" => "Update", "id" => "1"} Load Pan (0,3 мс) SELECT "pans". * FROM "pans" ГДЕ "pans". "Id" = $ 1 LIMIT $ 2 [["id", 1], ["LIMIT", 1]] ↳ app / controllers / pans_controller.rb: 45 (0,2 мс) НАЧАЛО↳ app / models / pan.rb: 5 Battery Load (0.2ms) SELECT "аккумуляторes ". * FROM" батареи "WHERE" батареи "." id "= $ 1 LIMIT $ 2 [[" id ", 1], [" LIMIT ", 1]]] app / models / pan.rb: 5 (0,2 мс) COMMIT ↳ app / models / pan.rb: 5 (0,2 мс) BEGIN ↳ app / controllers / pans_controller.rb: 15 (0,3 мс) COMMIT ↳ app / controllers / pans_controller.rb: 15 перенаправляется на http://localhost:3000/Выполнено 200 OK за 27 мс (ActiveRecord: 6,1 мс)
Во-вторых, есть ли способ сделать поле редактируемым непосредственно в таблице без каких-либо драгоценных камней?