我需要定义相同的实例变量:
@note = Note.new
@notes = current_user.notes.all
在多个控制器中:
UsersController#home
NotesController#create
NotesController#update
哪里可以容纳一个类/功能
def createNoteInstancesVars
@note = Note.new
@notes = current_user.notes.all
end
这是控制器问题的预期用途,还是我想到的不同/更好的方式?如果我确实把它放在了一个问题中,那是不是意味着每个控制器都会运行这些查询#action?我想避免这种情况。
答案 0 :(得分:3)
您可以在ApplicationController
。
然后添加NotesController
:
before_action :create_note_instances_vars, only: [:create, :update]
UsersController
答案 1 :(得分:0)
我认为只关注初始化实例变量并不是一个好主意。


您可以在 ApplicationController
中编写此def并在回调时通过回调调用你需要在任何控制器中使用它。