应用程序布局的逻辑

时间:2014-08-14 14:46:18

标签: ruby-on-rails ruby-on-rails-4

我正在尝试进行ActiveRecord调用以获取应用程序布局的信息(默认的application.html.haml布局)。我知道我不应该把逻辑放入布局本身,但我不确定在哪里放置它。

我需要在布局中运行的代码行只是一个简单的模型调用:

Client.find_by(:id => current_user.client_id)

2 个答案:

答案 0 :(得分:1)

我建议把它扔进helpers/application_helper.rb。我过去曾经使用过这个标题帮助者和身体类帮手。

# helpers/application_helper.rb
module ApplicationHelper
  def body_class
    [controller_name, action_name].join(' ')
  end
end

# views/layouts/application.slim
body class=body_class
  = yield

对于此类帮助者,ApplicationController并非如此。它主要是作为对控制器的支持,而不是您的观点。

答案 1 :(得分:0)

如果你把它放在ApplicationController中,那没关系。您可以将控制器相关代码放到controllers/concerns文件夹中。

'顾虑/ concern.rb':

module Concern
  def method
    # Your code here
  end
end

要使用从关注文件夹中的模块,请将其包含在控制器中:include Concern