0

这是我的模型;

class Calendar <ActiveRecord::Base
attr_Accessible :email, :cal_items_attributes
has_many :cal_items
accepts_nested_attributes_for :cal_items
end

class CalItem < ActiveRecord::Base
attr_accessible :calendar_id, :name, :url
has_one :calendar
end

我的网站将成为骨干应用程序,因此我向 localhost:3000/calendars.json 发出 POST 请求

{"calendar":
  {"email":"xxx@gmail.com",
   "cal_items": 
     [{"url":"http://www.google.com"},{"url":"http://www.yahoo.com"}]
  }
}

它返回一个错误

ActiveModel::MassAssignmentSecurity::CalendarsController#create 中的错误无法批量分配受保护的属性:cal_items

我认为带有 cal_items_attributes 的 attr_accessible 说明了这一点!

谢谢,乔

4

1 回答 1

2

你有attr_accessiblewith cal_items_attributes,但你在 json 中使用了 cal_items。

尝试:

{"calendar":
  {"email":"xxx@gmail.com",
   "cal_items_attributes": 
     [{"url":"http://www.google.com"},{"url":"http://www.yahoo.com"}]
  }
}
于 2012-11-15T13:09:41.140 回答