我喜欢Rails如何灵活地命名视图文件,即index.erb
或index.html.erb
基本上做同样的事情。
问题是我合并了两个单独的项目,其中一个项目使用filename.erb
查看所有项目,另一个项目使用filename.html.erb
。
看起来Rails只需要一个命名方案,因为我只会为.erb
扩展名的视图丢失模板错误。
我可以解决这个问题吗?我是否应该想要解决这个问题?或者我应该咬紧牙关并手动重命名我的一半视图文件?
答案 0 :(得分:1)
对我而言,听起来您正在使用的命名约定可能存在问题。
看看当你选择一个不起作用的动作然后用以下方法明确尝试和渲染模板时会发生什么:
render :template => 'products/show'
'products / show'是views目录中布局的路径。 如果这不起作用,可能有助于找到问题。
要尝试的另一件事是在您的操作中使用格式声明:
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @products }
end
这里的文档也非常明确地说明了如何找到文档的约定。 http://guides.rubyonrails.org/layouts_and_rendering.html
希望有所帮助, 大卫
答案 1 :(得分:0)
你应该坚持*.html.erb
的更现代的轨道惯例。
答案 2 :(得分:0)
您使用的是不同版本的Rails吗?低于2.0的Rails版本不支持.html.erb
格式。