私はこの問題にちょっと立ち往生しています。管理者ビューから、ジョブ モデル内の一括割り当て不可の属性を更新しようとしています。ジョブの isactive 値を true に変更するだけの管理コントローラーのアクション メソッドをトリガーするボタンが必要です。
管理コントローラーで:
def approve
@job.update_attribute(:isactive = true)
if @job.save
redirect_to(:action => :show)
flash[:notice] = "Job Approved"
else
render 'show'
end
end
ジョブ中/1 ビュー
<div style="text-align:center;" class="widget">
<%= form_for(@job, :url => url_for(:controller => 'admin', :action => 'approve'), :html => {:id => "contact_form", :class => "g-form"}) do |f| %>
<%= button_tag( :class => "g-btn type_default") do %>
<i class="icon-share-alt icon-white"></i>Approve this job
<% end %>
<% end %>
<% end %>
私が何をしても、このフォームはジョブ更新アクションに送信され、管理者の承認アクションからの「ジョブが承認されました」という通知ではなく、ジョブが正常に更新されたことを示します。
次のルートも追加しました。しかし、何が間違っているのかわかりません。ジョブの isactive フィールドを true に設定する単純なボタン (理想的にはスタイリング要件のためにブロック) が必要です。
match "jobs/:id", :via=>:post, :controller=>"admin", :action=>"approve"