在一个视图中生成两个单独的.rb文件

时间:2011-08-15 16:25:11

标签: ruby-on-rails ruby yield

我是铁杆新手。我想在我的数据库结果旁边放一个“_posts”表单。我怎么能这样做?

我目前正在使用此默认两次输出index.html.erb,但我希望第二个是_form.html.erb文件,以便我可以在观看数据库时写一篇文章:

<tr>
<td><%= yield %></td>
<td><%= yield %></td>
</tr>

最终我希望用ajax刷新表单和帖子列表。但那是为了以后的事。

3 个答案:

答案 0 :(得分:2)

<tr>
<td><%= yield %></td>
<td><%= render :partial => "form" %></td>
</tr>

答案 1 :(得分:0)

看起来您的_posts表单已经部分显示,因此您可以在索引页面的模板中包含该部分:

在index.html.erb中包括:

<%= render( :partial => "<model-name>/<partial_name>" %>

<model_name>是模型的{@ 1}},您的帖子会形成引用,而<partial_name>是部分的名称(即您拥有表单的文件名。

e.g。

<%= render( :partial => "posts/new" %>

部分简单地通过在文件名的开头添加下划线来表示。即如果在new.html.erb之前,则将其设为_new.html.erb

在Rails文档中有很多关于局部和渲染的好信息: http://guides.rubyonrails.org/layouts_and_rendering.html

答案 2 :(得分:0)

你需要的不是屈服 - 通常在布局中使用 - 而是渲染模板。