Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 保持与复选框的多对多关系(例如,帖子可能包含的每个类别的复选框)_Ruby On Rails 3_Ruby Datamapper - Fatal编程技术网

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并收集与其关联的类别,然后通过

我们有一个包含唯一类别的类别表。我们的帖子应该链接到这些类别中的任何一个。我尝试通过以下方式添加用于选择类别的复选框:

  • 在名为“post[categoriesss][]”的字段中添加包含类别的复选框,该字段的值为类别的
    :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
    属性时,这里提到的问题已经解决。我将把这个问题保留一段时间,以防有人回答为什么在使用
    资源时它不起作用。