2012-09-20 74 views
0

我有这样的问题:我想渲染HTML文件,但我没有设置路径到我的文件。如何在渲染文件时设置正确的路径?

我需要说,我是Windows上的runnung Rails。

在我看来,我有一些代码:

<%= render :file => '1509/1509/app/views/static_pages/index.html', :layout => false %> 

,但是这给了我错误:

undefined method `virtual_path' for false:FalseClass 

我的文件就在这里:

 C:\1509\1509\app\views\static_pages 

也试过:

<%= render :file => '/views/static_pages/index.html', :layout => false %> 

但是这给了我:

Missing template /views/static_pages/index with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :coffee]}. Searched in: 
    * "c:/1509/1509/app/views" 
    * "C:/Ruby192/lib/ruby/gems/1.9.1/gems/devise-2.1.0/app/views" 
    * "c:/1509/1509" 
    * "c:/" 

我做错了吗?

+0

你做错了斜杠,因为我看到,尝试'\',而不是'/'。 – F0G

+0

尝试绝对路径:'render:file =>'C:/ 1509/1509/app/views/static_pages/index.html'。 – gparis

+0

第一个建议给我错误#2和secode - 错误#1在我的问题。 – MID

回答

1

绝对路径将是:

<%= render :file => 'c:/1509/1509/app/views/static_pages/index.html' %> 

相对路径:

<%= render :file => 'static_pages/index.html' %> 
+0

jdoe,谢谢你的回答! – MID

+0

还有一个,当我添加布局为false时,false'FalseClass'为未定义的方法虚拟路径:<%= render:file =>'static_pages/index.html',:layout => false%>'get error:' – MID

+1

@ MID此选项用于控制器内部以覆盖默认布局。视图中的模板无需布局即可呈现。所以,根本不要使用这个选项。 – jdoe