我正在尝试进行ActiveRecord调用以获取应用程序布局的信息(默认的application.html.haml布局)。我知道我不应该把逻辑放入布局本身,但我不确定在哪里放置它。
我需要在布局中运行的代码行只是一个简单的模型调用:
Client.find_by(:id => current_user.client_id)
答案 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