nil的未定义方法电子邮件:NilClass

时间:2014-02-20 15:58:08

标签: ruby

我如何修复此错误

Channels :: Profiles#show中的NoMethodError 显示/home/action/catarse/app/views/catarse_bootstrap/shared/_header_channel.html.slim,其中第16行被提出:

nil的未定义方法`email':NilClass 提取的来源(第16行): 13 14 15 16 17 18 19

           = mail_to channel.email, t('channels.header.contact'), title: t('channels.header.contact'), class: 'standard-link', target: '_blank'
         - if current_user
           li.nav-item
             = link_to '#', class: 'user-menu' do
               = image_tag(current_user.display_image, :size => "40x40", class: 'user-avatar')
             ul.dropdown.user
               li= link_to t('channels.header.profile'), current_user

模板包含跟踪:app / views / catarse_bootstrap / channels / profiles / show.html.slim

Rails.root:/ home / action / catarse

应用程序跟踪|框架跟踪|完整追踪 app / views / catarse_bootstrap / shared / _header_channel.html.slim:16:in _app_views_catarse_bootstrap_shared__header_channel_html_slim__4148437850825180179_67490200' app/views/catarse_bootstrap/channels/profiles/show.html.slim:1:in _ app_views_catarse_bootstrap_channels_profiles_show_html_slim__2611454716947747879_66362380' 请求

参数:

无 切换会话转储 切换env转储 响应

接头:

1 个答案:

答案 0 :(得分:0)

以下是github的答案:

  

您的路线有问题。您应该在ProjectsController #index中使用本地服务器,而不是在ChannelsController中。看一下config / routes.rb:31您可能正在使用未在正则表达式中列出的子域(www,secure,test和local)

https://github.com/catarse/catarse/issues/451

如果您使用的是子域,则必须将其添加到config / routes.rb中   约束子域:/ ^(?!www |安全|测试|本地| SUBDOMAIN )(\ w +)/ do