サーバーには2つのモデルがあります。
餌
class Feed < ActiveRecord::Base
attr_accessible :name
belongs_to :broadcasts
end
ブロードキャスト
class Broadcast < ActiveRecord::Base
validates_presence_of :content
attr_accessible :content, feeds, feeds_attributes
belongs_to :user
has_many :feeds
accepts_nested_attributes_for :feeds
def to_s
result = "id: " + id.to_s + " content: " + content
if user
result += " user: " + user.id.to_s
end
result
end
def self.per_page
8
end
end
クライアントには、ブロードキャストとフィード用の基本的なActiveResourceクラスがあります
指定されたフィード(クライアントから)を使用して新しいブロードキャストを作成しようとすると、次のようになります。
feed1 = Feed.find(3) <-succesful
broadcast = Broadcast.new
broadcast.attributes['feeds_attributes'] ||= []
broadcast.feed_attributes << feed
broadcast.save
サーバー上のBroadcastControllerでは、単純に
@broadcast = Broadcast.new(params[:broadcast])
これにより、次のエラーが発生します。
保護された属性を一括割り当てできません:フィード