在分配属性时传递哈希作为参数

时间:2015-08-19 21:21:05

标签: ruby-on-rails

     def menu_params
          params.permit(menu: [:name]).require(:menu)                   
          end    

        def update
        if @menu.update(menu_params)              ------->line 29
          render json: @menu
        else
          render json: @menu.errors, status: :unprocessable_entity
        end
      end

       def set_menu
         @menu = Menu.find(params[:id])
        end

http请求(邮递员休息客户端)。这是一个PUT(更新)请求,用于编辑菜单表中的两个记录。在网址中附加了ID。 http://localhost:3000/menus/1,3

{
"menu": [
     {
       "name":"breakfast12"
     },

     {
       "name":"lunch 12"
     }

  ] 
}

这是我的代码的一部分。我试图在一个请求中更新多行。

我还在routes.rb

中配置了集合

但我面临这个错误。

  

#Patch / PUT / menus / 1 MenusController#update中的ArgumentError   分配属性时,必须将哈希作为参数传递。

指着第29行。

有没有办法遍历网址中指定的ID?如此处所示,它仅显示/menus/1

有没有办法在json请求存根中指定id?

1 个答案:

答案 0 :(得分:0)

试试这个:

def menu_params
  params.require(:menu).permit(:name)                
end