Rails has_many通过表单与连接模型中的复选框和额外属性

时间:2015-04-07 02:13:44

标签: ruby-on-rails ruby ruby-on-rails-4 has-many

我有以下型号:

class Package < ActiveRecord::Base
  # relationships
  belongs_to :company

  has_many :activitie_package

  accepts_nested_attributes_for :activity_package

  # validations
  validates_presence_of :company
end



class ActivityPackage < ActiveRecord::Base
  belongs_to :activity
  belongs_to :package
  belongs_to :company
end



class Activity < ActiveRecord::Base
    # relationships
    belongs_to :company
end

我在has_many关系之间有一个表,因为Activity.price可以更改差异包中的值。

我需要将所有Activity列为表格中的复选框,如下所示:

table {
  width: 100%;
}
<table>
  <tr>
     <td></td>
     <td>Activity</td>
     <td>Price</td>
  </tr>
  <tr>
     <td><input type="checkbox" name="package[activity_package_attributes][{{$index}}][activity_id]" /></td>
     <td>Swimming</td>
     <td>$50</td>
  </tr>
  <tr>
     <td><input type="checkbox" name="package[activity_package_attributes][{{$index}}][activity_id]" /></td>
     <td>Water Aerobics</td>
     <td>$90</td>
  </tr>
</table>

首先:我将如何处理更新和删除操作?我应该删除所有关系并再次插入所有选定的活动吗?

第二:我可以为has_many :activity_package添加别名吗?例如:package.activies,但关系是activity_package模型。

我会以不同的方式对此表示赞赏:)

更新 正在搜索,我找到了answer。那不是更好的解决方案吗?

0 个答案:

没有答案