我想根据 html 中的数据更改 Workorder.wostatus_id。
在我的索引 html 中,我的 wostatus.id 存储如下:
<span id="woid">4</span>
我想更新 workorder.wostatus_id = 4
这是在 workorders.js.coffee - 但是,它不起作用:
$.ajax
type: 'POST'
url: 'http://localhost:5000/workorders'
data:
workorder:
wostatus_id: $("#woid").val()
也许我没有得到正确的工单记录?
即使这样做也没有更新 workorder.wostatus_id
$.ajax
type: 'POST'
url: "http://localhost:5000/workorders"
data:
workorder:
wostatus_id: '3'
这也不起作用:
$.ajax
type: 'POST'
url: "http://localhost:5000/workorder/17"
data:
wostatus_id: '7'
我错过了一些重要的事情。
ajax POST 是否在工单控制器中执行此代码????
# PUT /workorders/1
# PUT /workorders/1.json
def update
@workorder = Workorder.find(params[:id])
respond_to do |format|
if @workorder.update_attributes(params[:workorder])
format.html { redirect_to @workorder, notice: 'Workorder was successfully updated.' }
format.json { head :ok }
else
format.html { render action: "edit" }
format.json { render json: @workorder.errors, status: :unprocessable_entity }
end
end
更新:
我将此添加到工作订单控制器中:
def changestatus
@workorder = Workorder.find(params[:id])
@workorder.update_attribute :wostatus_id, '4'
render nothing: true
end
我将此添加到路线中:
resources :workorders do
member { put :changestatus }
end
目前在 js.coffee 中:
$.ajax
type: 'PUT'
url: "http://localhost:5000/workorders/11/changestatus"
data:
wostatus_id: 4
(在我开始下一步工作之前,我一直在努力编写代码。)
所以 - 这行得通,工单 11 将 wostatus_id 更改为 4。
但是,现在我无法从 html 中获取正确的信息。html 包含我需要的 2 个数据字段 - 一个是哪个工作订单,另一个是 wostatus_id 是什么。
这是更新网址的html:
<div class="false" data-change-url="http://localhost:5000/workorders/16/changestatus">
我以为这会得到那个网址 - 但是,它不起作用:
$(this).data('change-url')