0

我正在开发一个应用程序,我需要在单击视图中的按钮时将行从一个表保存到另一个表。在按下按钮时,我最初是根据按钮单击传递的字段从一个表中获取行。获取行后,我将它们插入到另一个表中,然后从第一个表中删除行。下面是视图中的代码

<div class ="sbutton">
<%= button_to "Print", { :controller => "billings", :action => "printorder", :id => @orders.first.tableno}, :method => :delete %>
</div>

下面是 billings 控制器中的 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在 line 进入 billings 控制器的 printorder 方法lists = List.select.where(:tablabel => "Table"+params[:id]).to_a

我为此错误进行了很多搜索,但无法理解根本原因或得到解决方案。请指教。谢谢。

4

0 回答 0