我已在CMS页面中创建了部分内容:
/app/views/users/_register_home_page.html.haml
我的CMS页面如下所示:
{{ cms:partial:/users/register_home_page }}
当我从浏览器(即Chrome)调用此功能时,它可以正常工作。当我隐身时(确保没有发送cookie)
从curl调用我的测试页:
curl "http://localhost:5000/test"
返回
ActionView::MissingTemplate at /
================================
> Missing partial users/_register_home_page with {:locale=>[:en], :formats=>[:all], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :haml]}. Searched in:
* "/Users/doug/dev/my-rails-app/app/views"
actionview (4.1.7) lib/action_view/path_set.rb, line 46
-------------------------------------------------------
41 end
42 METHOD
43 end
44
45 def find(*args)
> 46 find_all(*args).first || raise(MissingTemplate.new(self, *args))
47 end
48
49 def find_all(path, prefixes = [], *args)
50 prefixes = [prefixes] if String === prefixes
51 prefixes.each do |prefix|
我希望curl能够返回相同的结果。
更新:从curl语句中省略Accept: text/html
时发生错误。
答案 0 :(得分:0)
我现在的解决方案是修改CMS gem以在部分标记中明确使用:formats => [:html]
,然后指定部分的完整路径(包括html.haml),如下所示:
{{ cms:partial:/users/register_home_page.html.haml }}
此修复程序所在的分支: