我的routes.rb
中有这个:
scope '/financial' do
get '', to: 'financial#index', as: :financial
get ':debnr', to: 'financial#debnr', as: :financial_debnr
get ':debnr/pdf/:id', to: 'financial#pdf', as: :financial_pdf
put ':debnr/pdf/:id', to: 'financial#update', as: :update_pdf
end
然后我的pdf.html.haml
中就有这个了:
= link_to 'Complete this pdf',
update_pdf_path(@debnr, @pdf),
method: :put,
data: { confirm: "You sure?"}
在我的FinancialController
中:
def update
@pdf = Pdf.find(params[:id])
@pdf.update_attribute(completed: true)
redirect_to root_path
end
不幸的是,当我单击按钮以完成pdf时,它不起作用。它开始了正常的get
操作,如下所示:
Started GET "/financieel/20308/pdf/67" for 127.0.0.1 at 2019-03-15 10:44:53 +0100
Processing by FinancieelController#pdf as HTML
它甚至都没有说“您确定吗?”消息。并完全忽略method: :put
。有什么想法吗?
html看起来像这样:
<a data-confirm="You sure?" rel="nofollow" data-method="put" href="/financial/123456/pdf/42">Complete this pdf</a>
我找到了。我一直在乱七八糟,而且我不小心将所有的javascript文件都注释掉了。
对不起!
答案 0 :(得分:0)
也许您没有将Rails-ujs(或jquery-ujs)添加到项目中?