nfm*_*nfm 4 forms field ruby-on-rails nested-forms formbuilder
我想fields_for在关联中使用记录的子集.
我有一个Month模型,哪个has_many :payments.
但在我看来,我只希望得到fields_for一些付款.例如:
- fields_for @month.payments.large
Run Code Online (Sandbox Code Playgroud)
这不起作用.
我可以传递一组记录fields_for,而不是通常的符号(fields_for :payments)方法吗?
您可以为大额付款添加其他关联,例如:
class Month < ActiveRecord::Base
has_many :payments
has_many :large_payments, :class_name => "Payment", :conditions => "value > 1000000"
end
Run Code Online (Sandbox Code Playgroud)
之后你可以用fields_for普通的方式:
- fields_for :large_payments
Run Code Online (Sandbox Code Playgroud)
我认为在模型方面将这种逻辑封装在视图中是一种更好的方法.
但是,您可以使用对象数组而无需创建任何其他关联.例如,假设您在控制器中准备了一些@large_payments数组,然后在视图中可以执行以下操作:
<%= f.fields_for :payments, @large_payments do |payment| %> ...
Run Code Online (Sandbox Code Playgroud)
这样,如果你有一个非常大的表单或多个表单页面,并且你不想为你想要显示的每个组创建一个额外的关联,你不必这样做.
| 归档时间: |
|
| 查看次数: |
3771 次 |
| 最近记录: |