在我的网站中,用户可以从任何页面创建新帖子。但我不确定把Rails实例变量位置
@var = Model.new
虽然,因为它不对应于特定的控制器。这种情况的最佳做法是什么?我想在应用程序控制器中创建它吗?我想我不应该在视图本身中初始化它。
在我的网站中,用户可以从任何页面创建新帖子。但我不确定把Rails实例变量位置
@var = Model.new
虽然,因为它不对应于特定的控制器。这种情况的最佳做法是什么?我想在应用程序控制器中创建它吗?我想我不应该在视图本身中初始化它。
是的,你会在你的ApplicationController
中创建一个before_filter
,根据需要它会初始化@var
。
class ApplicationController < ActionController::Base
before_filter :initialize_common_components
# ...
private
def initialize_common_components
@var = Model.new
end
end
我个人不会介意在视图中实例化它,而不是污染每一个控制器和每个视图与一个毫无意义的伊娃。 – 2012-02-22 23:48:55