在模板中渲染动作的输出

时间:2011-04-12 20:34:59

标签: ruby-on-rails

有没有办法在Rails模板中输出动作?什么相当于ASP.NET MVC Html.RenderAction? 我需要在侧边栏中渲染一些东西,我不想在局部或特定控制器中放置查询。到目前为止,我只能想到一种方法 - 将一些东西放入@stuff(通过任何方式)实例var并让渲染找到正确的部分或明确指定它。最好只能更改一个文件来更改侧边栏的内容(如在ASP中)。

3 个答案:

答案 0 :(得分:0)

是的,有。您可以将“侧边栏”部分添加到应用程序布局(在app / views / layouts文件夹中)。

您可以将获取“侧边栏”变量的代码放在ApplicationController中的before_filter中

class ApplicationController < ActionController::Base
  before_filter :sidebar_function

答案 1 :(得分:0)

答案 2 :(得分:0)

我不知道ASP.net,但是,我认为Rails产量可能是解决方案。这是一个小例子:

视图:

<% content_for :one do %>
  Test one
<% end %>

<% content_for :two do %>
  Test two
<% end %>

<p>Hi</p>

application.html.erb

<%= yield :one %>
<%= yield %>
<%= yield :two %>

请参阅Railsguides:http://guides.rubyonrails.org/layouts_and_rendering.html#understanding-yield