ruby-on-rails - 在辅助类中渲染布局

标签 ruby-on-rails

我正在渲染以下 html 片段...

<div class="navbar navbar-fixed-top">
    <div class="navbar-inner">
        <div class="container">
            <%= yield %>    
        </div>
    </div>
</div>

...像这样:

<%= render :layout => "shared/menu" do %>
    ...code here...
<% end %>

现在,为了进一步清理事情,我想将渲染隐藏在助手中,以便具有以下内容:

<%= bs_menu do %>
    ...code here...
<% end %>

我尝试过以下帮助程序,但没有成功:

def bs_menu(&block)
    render(:layout => "shared/menu") &block
end

我从 Rails (3.2.1) 收到此错误:

You invoked render but did not give any of :partial, :template, :inline, :file or :text option.

我做错了什么?

最佳答案

我认为你也可以这样做:

def bs_menu(&block)
  render({:layout => "shared/menu"}, &block)
end

(也许您也可以省略花括号)。这是我将 block 传递给方法的标准方法。

关于ruby-on-rails - 在辅助类中渲染布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9410710/

相关文章:

ruby-on-rails - 如何处理 Ruby on Rails 错误 : "Please install the postgresql adapter: ` gem install activerecord-postgresql-adapter'"

ruby-on-rails - ruby 中的 Postgres 数据类型整数 []

java - jQuery/Ajax 显示“另存为”对话框,用于下载从 servlet 发送的文件

ruby-on-rails - 如果访问时不存在关联记录,如何创建关联记录?

ruby-on-rails - 覆盖设计注册创建方法

ruby-on-rails - 使用单一表单创建多个记录(非嵌套属性)

ruby-on-rails - 您将 Rails 应用程序放在服务器上的什么位置?你用什么用户部署?

ruby-on-rails - 仅显示过去 30 天的对象

ruby-on-rails - 访问关联的关联

html - 页脚问题 - 本地和页眉仅在一页上不同