Ruby on rails Rails 3.2使用AJAX发布创建MassaSignmentSecurity::Error

Ruby on rails Rails 3.2使用AJAX发布创建MassaSignmentSecurity::Error,ruby-on-rails,jquery,ruby-on-rails-3.2,Ruby On Rails,Jquery,Ruby On Rails 3.2,我有点nube,我正试图借助bokmann在rails 3.2中创建一个日历应用程序,但当我尝试在我的应用程序中创建一个事件时,我得到了以下错误: ActiveModel::MassAssignmentSecurity::Error in EventsController#create Can't mass-assign protected attributes: title, description, starts_at(1i), starts_at(2i), starts_at(3i),

我有点nube,我正试图借助bokmann在rails 3.2中创建一个日历应用程序,但当我尝试在我的应用程序中创建一个事件时,我得到了以下错误:

ActiveModel::MassAssignmentSecurity::Error in EventsController#create

Can't mass-assign protected attributes: title, description, starts_at(1i), starts_at(2i),
starts_at(3i), starts_at(4i), starts_at(5i), ends_at(1i), ends_at(2i), ends_at(3i), ends_at(4i),
ends_at(5i), all_day

{"utf8"=>"✓",
"authenticity_token"=>"bq3ZUXLm4lYbja9FUafbroFF2Zwt8iMw6GWfvoRuPLA=",
"event"=>{"title"=>"sddfsdf",
"description"=>"df",
"starts_at(1i)"=>"2012",
"starts_at(2i)"=>"6",
"commit"=>"Create Event"}
该解决方案看起来像是在用AJAX帖子(它正在发送)传递AUTH_令牌,但它仍然不起作用


有什么想法吗?

fullcalendar应用程序似乎是在
config.active\u record.whitelist\u attributes=true
成为rails默认值之前创建的

在您的事件模型中,您是否有类似于
attr\u accessible:title,:description
等?

如果出现此异常,您应该已经通过身份验证,因此身份验证令牌不是您的问题

自版本3.2.3起,Rails就有了一个默认设置来防止质量分配。 您需要在模型中显式地允许它们。这就是为什么来自第三方的旧代码会失败。将模型更改为:

class Event
  ..
  attr_accessible :title, :description, starts_at ...
end
但是不要将诸如
user\u id
之类的内容包括在允许的属性列表中,这样可以防止只允许更改自己事件的人重新连接事件,然后该事件将属于另一个用户

另请参见Rails指南:

下面是您具体问题的答案,但更好的答案是查看该演示的新版本。从您看到的演示开始,我重新创建了演示,展示了如何在Rails 3.2中使用fullcalendar JavaScript和css作为资产宝石来实现这一点:


最近某个时候(Rails 3.2?)针对质量分配的默认保护被更改。。。现在需要特别允许要允许体量指定的属性

在事件模型中,添加一行如下所示:


属性可访问:标题、描述、开始时间、结束时间、全天工作!现在,由于某种原因,它生成了一个全新的日历,将活动放入其中!我将用你的新演示应用程序重新设计我仅有的一点。谢谢