我正在开发一个使用 Devise 身份验证系统的 Ruby on Rails 应用程序。 https://github.com/plataformatec/devise
我在互联网上搜索了与我自己类似的问题,但无济于事。我想给你一点背景知识,这一切都是从两个独立的应用程序开始的。其中之一是使用设计。我目前正在尝试将两个应用程序混合为一个。即使将模型视图和控制器放在他们需要的位置之后,我也没有遇到任何问题。但是,我们需要从 Sqlite3 数据库切换到 Postgresql 数据库。一旦我修改了 database.yml 文件以指向新的 Postgres 数据库并重新启动服务器,我就开始在整个应用程序中收到各种 to_sym 错误,并为使用 Devise 添加到应用程序的新功能出现路由错误。
在我切换到 Postgresql 数据库之前,我通过数据库转换器运行了我的 development.sqlite3 文件——这是我过去所做的,没有任何问题。
我不确定如何调试此应用程序,因为这些 to_sym 错误始终在发生。
举个例子,这里是停止工作的页面之一:
主页中的 NoMethodError #index
显示 C:/Users/chunter33/Desktop/devise_forem/app/views/layouts/application.html.haml 其中第 19 行提出:
nil:NilClass 的未定义方法“to_sym”
16: %a{:href => "#"}= t("web-app-theme.profile", :default => "配置文件") 17: %li 18: %a{:href => "#"}= t("web-app-theme.settings", :default => "设置") 19:-如果已登录? 20: %li 21: % 22: = current_user.email 应用程序跟踪:
app/helpers/application_helper.rb:3:in `signed_in?'
app/views/layouts/application.html.haml:19:in `_app_views_layouts_application_html_haml__944875441_29833656'
注意:如果我切换回 SQLite,我将不再收到任何这些错误。
我正在使用 Ruby 1.8.7 和 Rails 3.1
我可以从哪里开始寻找任何想法?
如果您需要任何其他信息,请告诉我。