- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在尝试以嵌套形式实现 HABTM 复选框。
目前,我有 3 个模型。主题、类(class)和小组。协会如下:每个科目都有很多课。每节课都属于许多小组。
现在,我正在尝试在单个创建和编辑表单上实现它们。这样一节课嵌套在主题中,每节课都有一个组复选框列表来实现 HABTM 关系。
我在实现 HABTM 关系时遇到了麻烦,因为每个科目都有很多类(class),而且我不确定如何区分不同的类(class)。
为了进一步详细说明,我能够使嵌套表单正常工作,但我无法让 HABTM 复选框保存到正确的类(class)中。以下代码示例是我的 HABTM 复选框实现。
<% Group.all.each do |group|%>
<%= check_box_tag "subject[lessons_attributes[0]][group_ids][]", group.id, f.object.groups.include?(group) %>
<%= group.group_index %>
<%end%>
目前,我已经使用“subject[lessons_attributes[0]][group_ids][]”这一行将其保存到第一课。
但是,类(class)数量各不相同,我不太确定如何确定类(class)“编号”,即“subject[lessons_attributes[0]][group_ids][ 中的粗体 0 ]”。这样我就可以将小组保存到正确的类(class)中。
如有任何建议,我们将不胜感激。
最佳答案
对于那些使用 Rails 4 并有同样问题(和我一样)的人
@Viktor Trón 中的Group.all.each
循环的回答是不必要的:有一个新的 FormBuilder 方法,collection_check_boxes ,它就是为此而创建的!
您的代码将是:
<% form_for @subject do |form| %>
....
<% @subject.lessons.each_with_index do |l, i| %>
<%= form.fields_for :lessons, l do |lesson_fields|%>
<%= lesson_fields.collection_check_boxes :group_ids, Group.all, :id, :group_index %>
<% end %>
<% end %>
<% end %>
然后您必须将 accepts_nested_attributes_for :lessons
添加到您的 Subject
模型,并在您的 SubjectsController
中,更改 subject_params
“允许”类(class)嵌套参数的方法:
params.require(:subject).permit(..., lessons_attributes: [:id, group_ids: []])
在您的 SubjectsController
中,create
或 update
操作保持不变:@subject = Subject.create(subject_params)
例如,将创建主题、相关类(class)并将它们的 HABTM 关系正确地更新到组(除非我在某处犯了错误!)。
关于ruby-on-rails - 嵌套形式的 HABTM 复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14878710/
假设我正在构建一个拥有许多博客和用户的引擎。用户可以拥有多个博客,博客也可以拥有多个用户(用户 hasAndBelongsToMany blogs)。我将创建一个名为 users_blogs 的数据透
我正在尝试使用以下结构保存数据: 如您所见,用户和体验表之间存在 HABTM 关联。另一个 HABTM 位于 experiences_users 和 tags 之间。我创建了以下表单: create(
我有两张 table ,questions和 tags ,具有 HABTM 关系。添加问题时,我希望能够为问题指定一个标签(这只是第一个标签,以后可以添加更多标签)。标签是从他们的 table 上拉出
我有一个 HABTM 关联,但无法将数据保存到连接表中。 这是我的 Controller : public function create($id) { if (!i
之前问过,但仍然蒙在鼓里。 cakePHP HABTM, am I getting it all wrong? 会再试一次: 我有两个表:stores 和 managers 我想创建一个新表,mana
您好,我有一个用 cakephp 开发的网站。我有两张 table :成分属性 表之间的关系是 HasAndBelongsToMany(HABTM)。这是我的模型: class Ingredient
我正在尝试保存订单和订单中的产品。 正在保存订单,但没有保存产品。 我有一个 orders 表和一个 products 表以及一个 orders_products 表。 在订单模型中,我设置了 $ha
我目前有以下 SQL 数据库: CREATE TABLE `users` ( `id` INT(10) NOT NULL AUTO_INCREMENT, `name` VARCHAR(40),
我正在尝试保存订单和订单中的产品。 正在保存订单,但没有保存产品。 我有一个 orders 表和一个 products 表以及一个 orders_products 表。 在订单模型中,我设置了 $ha
我在用户和位置之间建立了 HABTM 关系。两种型号都有相应的 $hasAndBelongsToMany变量集。 当我管理用户位置时,我想删除用户和位置之间的关联,而不是位置。显然这个位置可能属于其他
序言:几天前我请 question 解决 HABTM 过滤器,即使有教程我也无法做到,所以“Obi Kwan Kenobi 你是我唯一的希望”。 我想要实现的目标:通过在 StaffStaffgrou
我正在自学 Rails,作为一个测试项目,我正在模拟一个类似于 stackoverflow 的简单问答应用程序。 在我的简化版本中,我有: 问题 答案 用户(问题和答案的作者) 我知道答案属于问题。
我正在尝试连接我拥有的两个连接表的值并根据条件关系显示结果...但我遇到了一些问题 我有一个用户模型(:name, :password, :email),事件模型(:name, :etc) 和兴趣模型
rails 3.2.3, ruby 1.9.3p194 尝试用 HABTM 相关子项目保存一个项目,我覆盖默认生成的 SQL,调用母项目和每个相关子项目的名称属性。如何正确指定关联的子项目名称? #{
到目前为止,我当前的 HABTM 实现与 :has_and_belongs_to_many 一起工作。 Notification 和 Privacy 都继承自 Preference。偏好是 STI。我
我有两个具有HABTM关系的模型-用户和角色。 用户-has_and_belongs_to_many:roles 角色-属于:user 我想在联接(users_roles表)中添加一个唯一性约束,该约
是否可以在 Rails 3 中的 habtm 关系上使用计数器缓存? 我真的需要它来加快我的申请速度。 最佳答案 HABTM 没有内置方法,但创建自己的计数器缓存很简单(实际上,在发明 counter
我有一个用户表和一个报告表,通过 HABTM 关系连接。 我可以保存在 reports_users 表中创建正确记录的报告,我可以使用 $this->User->ReportsUser->.. 查看关
我有两个非常简单的类: class Contact include Mongoid::Document has_and_belongs_to_many :organizations,
我有两个模型,帖子和标签。发布 HasAndBelongsToMany 标签。 假设 Post 1 具有标签 world、news 和 paper。 现在在连接表中,我想删除标签“paper”和Pos
我是一名优秀的程序员,十分优秀!