轨道,嵌套属性,无法批量分配错误



我在服务器上有两个模型:

饲料

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

在我的客户端上,我有用于广播和馈送的基本活动资源类

当我尝试使用给定的源(来自客户端)创建新的广播时:

feed1 = Feed.find(3) <-succesful
broadcast = Broadcast.new
broadcast.attributes['feeds_attributes'] ||= [] 
broadcast.feed_attributes << feed
broadcast.save

在服务器上的广播控制器中,我只需做

@broadcast = Broadcast.new(params[:broadcast])

这给出了以下错误:

无法批量分配受保护的属性:源

我认为您需要在广播模型中添加一个名为 feed_id 的列,attr_accessible

attr-accessible :feed_id

在广播模型中

需要创建外键

不能直接将源分配给feed_attributes哈希(如果这是您实际尝试执行的操作)。

broadcast.feed_attributes << feed(不应该是 feed1?)更改为:

broadcast.feed_attributes << feed1.attributes

相关内容

  • 没有找到相关文章

最新更新