我有点卡在这个问题上。尝试从管理员视图更新作业模型中的不可批量分配的属性。我需要一个按钮来触发管理控制器中的操作方法,它只是将作业的 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"