Вы можете передать переменную непосредственно в render
, согласно здесь . В вашем случае:
<%= render 'applicant_status_update_form', post: post %>
Доступны также :
<%= render 'applicant_status_update_form', object: post, as: 'post' %>
<%= render 'applicant_status_update_form', locals: { post: post } %>
Все приводит к одному и тому же: создание локальной переменной post
доступной для вашей части.
Оттуда вам нужно будет переключить @post
на post
в вашей части, и все должно отображаться как нужно.
Надеюсь, это поможет - дайте мне знать, как вы поживаете.
Обновление на основе вашего комментария
Если вы не нашли сообщение по идентификатору в вашем действии обновления, я думаю, что я видел проблему: вы передаете URL admin_applicant_update_application_status_path
в форму без идентификатора.
Для быстрого исправления вы можете использовать:
<%= simple_form_for(post, :url => admin_applicant_update_application_status_path(id: post.id), :method => :post) do |f| %>
Лучше будет обновить ваши маршруты, чтобы получить идентификатор в пути update_application_status
. Итак, переключите ваш routes.rb
на использование:
resources :admin_applicants, :only => [:index] do
post 'update_application_status/:id'
end
А затем ваша форма:
<%= simple_form_for(post, :url => admin_applicant_update_application_status_path(post.id), :method => :post) do |f| %>
Этот раздел документации охватывает вышеперечисленное, если вы заинтересованы в чтении.
Надеюсь, что это делает для тебя!