我正在开发一个应用程序,我需要在View中单击按钮将行从一个表保存到另一个表。在按下按钮时,我最初根据按钮点击传递的字段从一个表中获取行。获取行后,我将它们插入到另一个表中,然后从第一个中删除行。以下是View
中的代码<div class ="sbutton">
<%= button_to "Print", { :controller => "billings", :action => "printorder", :id => @orders.first.tableno}, :method => :delete %>
</div>
以下是账单控制器中的printorder方法:
def printorder
lists = List.select.where(:tablabel => "Table"+params[:id]).to_a
lists.each do |list|
order = Order.new(
:orderno => list.orderno,
:tableno => list.tableno,
:itemname => list.itmename,
:quantity => list.quantity,
:amount => list.amount,
)
order.save
end
lists.delete_all
Table.where(:tablabel => "Table"+params[:id]).update_all(:tabstatus => "available")
end
在上面的方法中,我从lists
表中获取行,并使用为特定表号提取的行更新orders
表。表号从视图传递,我在params[:id]
中捕获它。路由文件具有此方法的代码
resources :billings do
delete :printorder, on: :member
end
问题是我在第tried to create Proc object without a block
行的账单控制器的printorder方法中获得了lists = List.select.where(:tablabel => "Table"+params[:id]).to_a
。
我搜索了很多这个错误,但无法理解根本原因或得到解决方案。请指教。感谢。