我正在尝试在应用程序控制器中获取一个变量集,以鼓励应用程序布局.
如果我使用:
@var = 'foo'
…应用程序布局不知道我在说什么
如果我使用全局变量
$var = 'foo'
…应用程序布局工作.但是,我的功能测试不行:
# application layout # my var is an AR object $var.name # Stock functional test class HomeControllerTest < ActionController::TestCase test "should get index" do get :index assert_response :success end end # test:functionals ActionView::Template::Error: undefined method `name' for nil:NilClass
我需要这个var可用于应用程序布局(每页).思考?我需要使这个会话var吗?
更新
根据我正在阅读的其他几个帖子,最好将它们放在应用程序助手中,然后从布局中调用它们?
# Application helper def get_var Product.first end # Application layout <% @var = get_var %> <!DOCTYPE html> <html lang="en"> <head> ...
这a)在我的浏览器中工作,b)通过测试.这是最好的做法吗有更简单/更好的方法吗?