URL вашего приложения совершенно неверный, это должно было быть вашим первым указанием на то, что вы не правильно используете помощник form_tag
:
/jobs/171?method=post&remote=true&url=%2Fjobs%2F171
Как видите, весь хэш параметров используется в качестве параметра URL, поскольку первый аргумент form_tag
- это URL.
Это должно выглядеть так:
form_tag job_path(@job.id), :method => :post, :remote => true, :id => @job.id do
Вы также злоупотребляете помощниками *_path
; Вы должны использовать job_path(@job)
или просто передать сам объект Job:
form_tag @job, :method => :post, :remote => true, :id => @job.id do
Вы также используете неправильный метод. POST предназначен для создания новых объектов, а ваша форма обновляет существующий объект, который представляет собой запрос PUT. Вы либо захотите использовать :method => :put
или (предпочтительно) drop form_tag
все вместе и использовать form_for @job
, который вычислит все для вас на основе объекта, который вы передаете:
form_for @job, :remote => true do |form|