两次构建多态关系是否正常且必要(rails)

时间:2017-03-20 07:35:55

标签: ruby-on-rails activerecord

为多态关系模型创建表单时,我在视图中执行此操作:

<%= form_for @biblio.comments.build, url: administration_create_comments_path, remote: true do |f| %>

然后在控制器中:

@comment = @commentable.comments.build(comment_params)

虽然这有效,但我想知道这是否是最好的做事方式。毕竟,这段代码正在构建两次@ biblio.comments关系。

由于

1 个答案:

答案 0 :(得分:1)

是的,两次变量正常build

首先在表单中build为您的biblio.comments创建一个模板,其中填写了表单中的参数(不是持久记录)。

其次,在params到达控制器动作后,你是build 记录并使用save方法保存到数据库。