我试图在config\environments\development.rb
NEXT_PAGE_ID = 'next_page'
但是当我尝试在视图中访问它时,我收到此错误
未初始化的常量ActionView :: CompiledTemplates :: NEXT_PAGE_ID
我试图在/config/initializers/course_builder
定义它,如下所示:
NEXT_PAGE_ID = 'next_page'
但我得到了同样的错误。
重新启动服务器没有帮助。我该怎么办?
修改
以下是完整错误:
未初始化的常量ActionView :: CompiledTemplates :: NEXT_PAGE_ID
提取的来源(第23行):
20: %></li>
21:
22: <li><%= if @page.position < @page.chapter.pages.count then
23: next_page= Page.find(Page.where(:position => @page.position+1, :chapter_id => @page.chapter.id))
24: link_to 'Next Page', next_page, {:id=>NEXT_PAGE_ID}
25: end
26: %></li>
答案 0 :(得分:0)
我会改用会话变量。在这种情况下(或在大多数情况下)不需要全局,并且显然存在问题。
session[:current_page_id]
或
session[:next_page_id]
答案 1 :(得分:0)
你可以这样做:
Object.const_set('NEXT_PAGE_ID', 'next_page')
但你可能应该使用某种配置文件来处理这些事情,而不是污染全局命名空间。