我正在使用 Can.js 创建一条新记录,并将它发送POST /todos
到本地 Rails 服务器(rails 3.2.13)。请求中的表单数据title=mow+lawn&completed=true
是:
title: mow lawn
completed: true
所以在TodosController
,create
动作中,默认代码是:
@todo = Todo.new(params[:todo])
但当然,theparams[:todo]
是空的,只有params[:title]
存在params[:completed]
。所以我可以使用
@todo = Todo.new(:title => params[:title], :completed => params[:completed])
这样做,但是有没有办法让它以某种方式自动param
从这些参数创建这样的对象?
有人在How can.js add a record to a Rails server?
class TodosController < ApplicationController
wrap_parameters :todo
但我尝试了每一个
wrap_parameters
wrap_parameters :todo
wrap_parameters :todo, :include => [:name, :complete],
wrap_parameters :include => [:name, :complete]
仍然Todo.new(params[:todo])
无法正常工作。它实际上如何工作或任何其他方法将参数自动打包到对象中?