将控制器添加到application.html.erb布局

时间:2016-06-22 18:52:27

标签: ruby-on-rails

我想构建一个处理多个页面的应用程序,用户可以在页面中添加应用程序(从表单中),然后将添加的页面添加到页面表中。 (通常情况下)

所有这些我知道该怎么做,而且我没有任何问题。

问题是我想在application.html.erb中创建一个菜单,但我需要从控制器获取页面表数据,所以我尝试将常规实例变量从application_controller.rb传递给application.html。呃,它没有用。

在application_controller.rb中:

    @foo = "bar"

在application.html.erb中:

   <%= @foo %>

我甚至没有收到错误,视图中没有任何内容。 (我的意思是变量不在那里,我仍然可以看到其他内容)

如何为application.html.erb附加控制器? (或将变量传递给application.html.erb)感谢您的帮助。

解决方案:在您的application_controller中,您可以执行

    before_action :set_page


    def set_page
      @foo = "bar"
    end

这将在应用程序中的每个操作之前运行set_page操作,该操作应该完成您想要的操作。

感谢ruby_newbie !!!!

1 个答案:

答案 0 :(得分:2)

在你的application_controller中你可以做到

before_action :set_page


def set_page
  @foo = "bar"
end

这将在应用程序中的每个操作之前运行set_page操作,该操作应该完成您想要的操作。