一种在Rails中更新多个页面的表单

时间:2013-07-11 05:46:30

标签: ruby-on-rails forms models

Rails相当新。我正在尝试创建一个更新两个模型的表单,并输出到两个单独的显示页面。一,这是可能的,两个,怎么样?我看到很多关于一个表单能够更新多个模型的帖子,但不确定我是否可以创建一个创建两个单独页面的表单。

编辑:

感谢您的评论到目前为止。而且,抱歉缺乏清晰度。基本上我有两个型号。一个是“课程预览”页面。第二个是“实际课程”。任何用户都可以查看“预览”页面,但必须购买该课程才能查看课程页面。

我要做的是使用1表格同时创建“课程预览”和“课程”。

提前致谢!

1 个答案:

答案 0 :(得分:0)

您不能一次渲染两个页面,用户一次只能看到一个页面。

但您可以创建一个页面,通过一些巧妙的编码显示结果。如果您有两个模型,比如Model1和Model2,以及每个模型的视图,比如model1 / show.html.erb,您可以更改show.html.erb代码:

<%= @model.name %>
etc...

<%= render 'display' %>

创建一个名为_display.html.erb的文件,并将show.html.erb中的内容放在那里。现在,当您访问Model1的显示页面时,它将调用显示部分并相应地呈现所有信息。对于Model2进行泡沫,冲洗,重复。

因此,您的双重表单的返回页面也将使用这个相同的部分。表单的结果页面如下所示:

<%= render 'model1/display' %>

<%= render 'model2/display' %>

这会拉出每个模型类型的部分,并将其放在结果页面中。

有关使用partials的更多信息,请参阅: http://guides.rubyonrails.org/layouts_and_rendering.html#using-partials