在ComfortableMexicanSofa页面使用curl时缺少部分

时间:2014-11-13 00:42:29

标签: ruby-on-rails comfortable-mexican-sofa

我已在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时发生错误。

1 个答案:

答案 0 :(得分:0)

我现在的解决方案是修改CMS gem以在部分标记中明确使用:formats => [:html],然后指定部分的完整路径(包括html.haml),如下所示:

{{ cms:partial:/users/register_home_page.html.haml }}

此修复程序所在的分支:

https://github.com/mvcodeclub/comfortable-mexican-sofa

我还filed a Github issue