我发布了以下数据:
{"commit"=>"Create", "conversation"=>{... , "watchers_ids"=>["2", "3", "4", "5", ...]}}添加到以下操作
def create
@conversation = @current_project.conversations.new(params[:conversation])
...
end和下面的类
class Conversation < RoleRecord
include Watchable
end使用此模块
module Watchable
def self.included(model)
model.attr_accessible :watchers_ids
end
def watchers_ids=(ids)
add_watchers( ids )
end
def watchers_ids
...
end
...
end但是,质量赋值不适用于虚拟属性。有什么想法吗?
发布于 2011-02-18 04:34:32
这里缺少一些代码..。
如果你有一个has_and_belongs_to_many :watchers,你应该能够分配watcher_ids,而不需要做这个自定义模块的事情。
如果你不能这样做,那么这个属性就会被模型中的一些attr_protected或者更可能的attr_accessible调用所保护。您可以手动设置:
@conversation.watcher_ids = params[:conversation][:watcher_ids]https://stackoverflow.com/questions/5032243
复制相似问题