【发布时间】:2011-08-21 07:54:10
【问题描述】:
我有一个项目对象的 Backbone.js 集合和模型:
window.Project = Backbone.Model.extend();
window.Projects = Backbone.Collection.extend({
model: Project,
url: '/projects'
});
我已经设置了一个 Rails 控制器来响应 Backbone.js 集合:
class ProjectsController < ApplicationController
def index
render :json => Project.all
end
def create
project = Project.create! params
render :json => project
end
end
索引工作正常,我在我的网络应用程序中获得了一个项目列表。问题是,如果我尝试在 Projects 集合上创建模型,我会从服务器收到 500 错误。
服务器上的错误信息如下:
Started POST "/projects" for 127.0.0.1 at 2011-08-21 08:27:56 +0100
Processing by ProjectsController#create as JSON
Parameters: {"title"=>"another test"}
Completed 500 Internal Server Error in 16ms
ActiveRecord::UnknownAttributeError (unknown attribute: action):
app/controllers/projects_controller.rb:8:in `create'
我不确定unknown attribute: action 指的是什么。
有关信息,我已将 projects_controller 设置为 resources :projects。我还将rails设置为ActiveRecord::Base.include_root_in_json = false。
【问题讨论】:
-
谢谢,所以 Rails 总是将动作和控制器添加到参数中。这可以解释错误。
标签: ruby-on-rails-3 backbone.js