Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在CMS中,为什么创建没有标题的页面会导致未捕获的异常?_Ruby On Rails_Refinerycms - Fatal编程技术网

Ruby on rails 在CMS中,为什么创建没有标题的页面会导致未捕获的异常?

Ruby on rails 在CMS中,为什么创建没有标题的页面会导致未捕获的异常?,ruby-on-rails,refinerycms,Ruby On Rails,Refinerycms,作为管理员,我可以创建一个页面,只要它有一个标题。如果我不填写标题字段,我会得到下面未捕获的异常。我希望管理员用户在屏幕上收到一条错误消息,提示他填写标题字段,而不是应用程序崩溃 错误 炼油厂/管理/页面中的命名错误#创建 显示.bundler/ruby/2.0.0/refinerycms-a03fcf214281/pages/app/views/refinery/admin/pages//u form\u advanced\u options.html.erb,其中第39行出现: nil:Ni

作为管理员,我可以创建一个页面,只要它有一个标题。如果我不填写标题字段,我会得到下面未捕获的异常。我希望管理员用户在屏幕上收到一条错误消息,提示他填写标题字段,而不是应用程序崩溃

错误 炼油厂/管理/页面中的命名错误#创建 显示.bundler/ruby/2.0.0/refinerycms-a03fcf214281/pages/app/views/refinery/admin/pages//u form\u advanced\u options.html.erb,其中第39行出现: nil:NilClass的未定义方法“map” 提取源(第39行附近): 36: 37: 38: 39: 41: 42:
如何避免此错误?

我的谷歌搜索有点混乱,在谷歌组中找到了答案:

要解决此问题,请执行以下操作: 1.在以下路径为管理员页面控制器添加装饰器文件:
app/decorators/controllers/refinery/admin/pages\u controller\u decorator.rb

2.复制粘贴以下代码: 我现在收到一条错误消息,说我需要按预期填写标题

多亏了上面groups.google.com链接上的pascal huynh提供的快速修复功能。

我认为这次提交解决了这个问题:
NoMethodError in Refinery/admin/pages#create 
Showing .bundler/ruby/2.0.0/refinerycms-a03fcf214281/pages/app/views/refinery/admin/pages/_form_advanced_options.html.erb where line #39 raised: 

undefined method `map' for nil:NilClass
Extracted source (around line #39): 

36:         <%= f.label :view_template, t('.view_template') %>
37:         <%= refinery_help_tag t('.view_template_help') %>
38:       </span>
39:       <%= f.select :view_template, @valid_view_templates.map { |t| [t.titleize, t] },
40:                    template_options(:view_template, @page) %>
41:     </div>
42:     <% end %>
Refinery::Admin::PagesController.class_eval do
  
  # Solves error when creating pages without title
  # See: http://stackoverflow.com/q/19013244/1093087
  before_filter :load_valid_templates, :only => [:create, :update, :edit, :new]

end