Ruby on rails 3 保持与复选框的多对多关系(例如,帖子可能包含的每个类别的复选框)
我们有一个包含唯一类别的类别表。我们的帖子应该链接到这些类别中的任何一个。我尝试通过以下方式添加用于选择类别的复选框:Ruby on rails 3 保持与复选框的多对多关系(例如,帖子可能包含的每个类别的复选框),ruby-on-rails-3,ruby-datamapper,Ruby On Rails 3,Ruby Datamapper,我们有一个包含唯一类别的类别表。我们的帖子应该链接到这些类别中的任何一个。我尝试通过以下方式添加用于选择类别的复选框: 在名为“post[categoriesss][]”的字段中添加包含类别的复选框,该字段的值为类别的:id 更新new和Update方法以获取这些ID并收集与其关联的类别,然后通过
:id
new
和Update
方法以获取这些ID并收集与其关联的类别,然后通过
Resource
结束
更新:
现在,我将复选框的名称更改回类别
,并将新建
和更新
方法更新为:
def self.new(hash={})
如果hash.key?:类别
hash[:categories]。映射!{| id | Category.get id}
结束
超级散列
结束
def更新(哈希={})
如果hash.key?:类别
hash[:categories]。映射!{| id | Category.get id}
结束
超级散列
结束
第一次添加类别是有效的。更新时,检查一个额外的类别也很有效。但是,取消选中类别会产生错误消息:
列类别id、post id不是唯一的
关注对象:当定义我们自己的关系模型
CategoryPost
并相应地更新hasn
属性时,这里提到的问题已经解决。我将把这个问题保留一段时间,以防有人回答为什么在使用资源时它不起作用。