加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何在使用fields_for时将范围应用于关联?

发布时间:2020-12-17 04:35:33 所属栏目:百科 来源:网络整理
导读:我有一个项目有很多任务,每个任务属于一个人. 在我的项目编辑表单中,我允许编辑现有任务并使用嵌套对象表单工具添加新任务(http://ryandaigle.com/articles/2009/2/1/what-s-new-in-edge-rails-nested-attributes): % project_form.fields_for :tasks do |t
我有一个项目有很多任务,每个任务属于一个人.

在我的项目编辑表单中,我允许编辑现有任务并使用嵌套对象表单工具添加新任务(http://ryandaigle.com/articles/2009/2/1/what-s-new-in-edge-rails-nested-attributes):

<% project_form.fields_for :tasks do |task_form| %>

当fields_for从数据库请求任务时,我想急切加载关联的Task Person对象,但我找不到解决方案.可能吗?在Project模型中,我可以使用:include选项定义我的has_many:tasks,但我宁愿避免这种情况,因为在处理项目任务时我不需要急切地加载Person对象.

现在我已经创建了第二个has_many关联:tasks_including_person以及相应的accepts_nested_attributes_for并在我的fields_for中使用它.它有效,但我不想创建像这样的特定关联.

解决方法

您可以将第二个参数传递给fields_for,fields_for是要呈现的对象或集合.例如:
project_form.fields_for :tasks,project_form.object.tasks.all(:include => :person) do |task_form|

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读