0

我已经在我的网站上安装了 fedena(rails 应用程序)

http://www.technoadmin.com/

我已经安装了所有插件、gem、创建和迁移了数据库。

我已经创建了这样的符号链接

ln -s ~/fedena/public ~/public_html

访问我的网页时显示

此网页有重定向循环

所以请帮助我。我是新手。在过去的一个月里,我一直在尝试安装此应用程序。我想我已经走到了最后一步。所以请帮我解决这个错误。我将非常感谢你。

我的生产日志文件是

# Logfile created on Fri Jul 26 14:55:03 +0530 2013

Processing UserController#login (for 182.73.241.18 at 2013-07-26 15:00:48) [GET]
  Parameters: {"action"=>"login", "controller"=>"user"}
[FedenaRescue] No method error undefined method `config_value' for nil:NilClass

NoMethodError (undefined method `config_value' for nil:NilClass):
  app/controllers/application_controller.rb:319:in `set_user_language'
  vendor/bundle/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/callbacks.rb:178:in `send'
  vendor/bundle/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/callbacks.rb:178:in `evaluate_method'
  vendor/bundle/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/callbacks.rb:166:in `call'
  vendor/bundle/ruby/1.8/gems/actionpack-2.3.5/lib/action_controller/filters.rb:225:in `call'
  vendor/bundle/ruby/1.8/gems/actionpack-2.3.5/lib/action_controller/filters.rb:629:in `run_before_filters'
  vendor/bundle/ruby/1.8/gems/actionpack-2.3.5/lib/action_controller/filters.rb:615:in `call_filters'
  vendor/bundle/ruby/1.8/gems/actionpack-2.3.5/lib/action_controller/filters.rb:610:in `perform_action_without_benchmark'
  vendor/bundle/ruby/1.8/gems/actionpack-2.3.5/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
  vendor/bundle/ruby/1.8/gems/actionpack-2.3.5/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
  vendor/bundle/ruby/1.8/gems/actionpack-2.3.5/lib/action_controller/rescue.rb:160:in `perform_action_without_flash'
  vendor/bundle/ruby/1.8/gems/actionpack-2.3.5/lib/action_controller/flash.rb:146:in `perform_action'
  vendor/bundle/ruby/1.8/gems/actionpack-2.3.5/lib/action_controller/base.rb:532:in `send'
  vendor/bundle/ruby/1.8/gems/actionpack-2.3.5/lib/action_controller/base.rb:532:in `process_without_filters'
  vendor/bundle/ruby/1.8/gems/actionpack-2.3.5/lib/action_controller/filters.rb:606:in `process'
  vendor/bundle/ruby/1.8/gems/actionpack-2.3.5/lib/action_controller/base.rb:391:in `process'
  vendor/bundle/ruby/1.8/gems/actionpack-2.3.5/lib/action_controller/base.rb:386:in `call'
  vendor/bundle/ruby/1.8/gems/actionpack-2.3.5/lib/action_controller/routing/route_set.rb:437:in `call'
  vendor/bundle/ruby/1.8/gems/actionpack-2.3.5/lib/action_controller/dispatcher.rb:87:in `dispatch'
  vendor/bundle/ruby/1.8/gems/actionpack-2.3.5/lib/action_controller/dispatcher.rb:121:in `_call'
  vendor/bundle/ruby/1.8/gems/actionpack-2.3.5/lib/action_controller/dispatcher.rb:130:in `build_middleware_stack'
  vendor/bundle/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/query_cache.rb:29:in `call'
  vendor/bundle/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/query_cache.rb:29:in `call'
  vendor/bundle/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/query_cache.rb:34:in `cache'
  vendor/bundle/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/query_cache.rb:9:in `cache'
  vendor/bundle/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/query_cache.rb:28:in `call'
  vendor/bundle/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/connection_pool.rb:361:in `call'
  vendor/bundle/ruby/1.8/gems/actionpack-2.3.5/lib/action_controller/string_coercion.rb:25:in `call'
  vendor/bundle/ruby/1.8/gems/actionpack-2.3.5/lib/action_controller/params_parser.rb:15:in `call'
  vendor/bundle/ruby/1.8/gems/actionpack-2.3.5/lib/action_controller/session/cookie_store.rb:93:in `call'
  vendor/bundle/ruby/1.8/gems/actionpack-2.3.5/lib/action_controller/failsafe.rb:26:in `call'
  vendor/bundle/ruby/1.8/gems/actionpack-2.3.5/lib/action_controller/dispatcher.rb:106:in `call'
  /usr/lib/ruby/gems/1.8/gems/passenger-3.0.9/lib/phusion_passenger/rack/request_handler.rb:96:in `process_request'
  /usr/lib/ruby/gems/1.8/gems/passenger-3.0.9/lib/phusion_passenger/abstract_request_handler.rb:513:in `accept_and_process_next_request'
  /usr/lib/ruby/gems/1.8/gems/passenger-3.0.9/lib/phusion_passenger/abstract_request_handler.rb:274:in `main_loop'
  /usr/lib/ruby/gems/1.8/gems/passenger-3.0.9/lib/phusion_passenger/classic_rails/application_spawner.rb:321:in `start_request_handler'
  /usr/lib/ruby/gems/1.8/gems/passenger-3.0.9/lib/phusion_passenger/classic_rails/application_spawner.rb:275:in `send'
  /usr/lib/ruby/gems/1.8/gems/passenger-3.0.9/lib/phusion_passenger/classic_rails/application_spawner.rb:275:in `handle_spawn_application'
  /usr/lib/ruby/gems/1.8/gems/passenger-3.0.9/lib/phusion_passenger/utils.rb:479:in `safe_fork'
  /usr/lib/ruby/gems/1.8/gems/passenger-3.0.9/lib/phusion_passenger/classic_rails/application_spawner.rb:270:in `handle_spawn_application'
  /usr/lib/ruby/gems/1.8/gems/passenger-3.0.9/lib/phusion_passenger/abstract_server.rb:357:in `__send__'
  /usr/lib/ruby/gems/1.8/gems/passenger-3.0.9/lib/phusion_passenger/abstract_server.rb:357:in `server_main_loop'
  /usr/lib/ruby/gems/1.8/gems/passenger-3.0.9/lib/phusion_passenger/abstract_server.rb:206:in `start_synchronously'
  /usr/lib/ruby/gems/1.8/gems/passenger-3.0.9/lib/phusion_passenger/abstract_server.rb:180:in `start'
  /usr/lib/ruby/gems/1.8/gems/passenger-3.0.9/lib/phusion_passenger/classic_rails/application_spawner.rb:149:in `start'
  /usr/lib/ruby/gems/1.8/gems/passenger-3.0.9/lib/phusion_passenger/spawn_manager.rb:219:in `spawn_rails_application'
  /usr/lib/ruby/gems/1.8/gems/passenger-3.0.9/lib/phusion_passenger/abstract_server_collection.rb:132:in `lookup_or_add'
  /usr/lib/ruby/gems/1.8/gems/passenger-3.0.9/lib/phusion_passenger/spawn_manager.rb:214:in `spawn_rails_application'
  /usr/lib/ruby/gems/1.8/gems/passenger-3.0.9/lib/phusion_passenger/abstract_server_collection.rb:82:in `synchronize'
  /usr/lib/ruby/gems/1.8/gems/passenger-3.0.9/lib/phusion_passenger/abstract_server_collection.rb:79:in `synchronize'
  /usr/lib/ruby/gems/1.8/gems/passenger-3.0.9/lib/phusion_passenger/spawn_manager.rb:213:in `spawn_rails_application'
  /usr/lib/ruby/gems/1.8/gems/passenger-3.0.9/lib/phusion_passenger/spawn_manager.rb:132:in `spawn_application'
  /usr/lib/ruby/gems/1.8/gems/passenger-3.0.9/lib/phusion_passenger/spawn_manager.rb:275:in `handle_spawn_application'
  /usr/lib/ruby/gems/1.8/gems/passenger-3.0.9/lib/phusion_passenger/abstract_server.rb:357:in `__send__'
  /usr/lib/ruby/gems/1.8/gems/passenger-3.0.9/lib/phusion_passenger/abstract_server.rb:357:in `server_main_loop'
  /usr/lib/ruby/gems/1.8/gems/passenger-3.0.9/lib/phusion_passenger/abstract_server.rb:206:in `start_synchronously'
  /usr/lib/ruby/gems/1.8/gems/passenger-3.0.9/helper-scripts/passenger-spawn-server:99

Redirected to http://technoadmin.com/user/dashboard

这些是从 310 到 325 的行,我的 application_controller.rb 中只有 325 行

return @local_tzone_time
  end

  private
  def set_user_language
    lan = Configuration.find_by_config_key("Locale")
    I18n.default_locale = :en
    Translator.fallback(true)
    if session[:language].nil?
      I18n.locale = lan.config_value
    else
      I18n.locale = session[:language]
    end
    News.new.reload_news_bar
  end
end
4

2 回答 2

0

问题出在一个名为的方法上config_value

NoMethodError (undefined method config_value' for nil:NilClass): app/controllers/application_controller.rb:319:inset_user_language' 

所以检查你application_controller.rb的在线 319 并张贴那里的内容

编辑:

在您的代码(第 319 行)中,您正在调用config_value-lan但错误消息说它lan具有 nil 值-因此无法调用 config_value 。

早些时候你有lan = Configuration.find_by_config_key("Locale")- 所以我猜 Rails 找不到名为“Locale”的 config_key - 但我真的不确定。这段代码是你写的还是由 gem 生成的?

于 2013-07-26T10:33:59.327 回答
0

在尝试使用 Docker 在 Ubuntu 20.04 上设置 Fedena 时,我遇到了同样的问题。

每次我尝试在浏览器上访问 http://server-address:8080:/user/dashboard 上的应用程序时,都会收到重定向。然后在我的控制台上,我得到了错误:

web_1  | Processing UserController#dashboard (for 103.89.5.96 at 2020-10-25 18:33:15) [GET]
web_1  |   Parameters: {"controller"=>"user", "action"=>"dashboard"}
web_1  | [FedenaRescue] No method error undefined method `config_value' for nil:NilClass
web_1  | 
web_1  | NoMethodError (undefined method `config_value' for nil:NilClass):
web_1  |   app/controllers/application_controller.rb:342:in `set_user_language'

这是我修复它的方法

注意:这是一个临时修复,因为我没有太多时间深入研究代码库。

问题源于app/controllers/application.rb文件中的以下代码:

private

def set_user_language
  lan = Configuration.find_by_config_key('Locale')
  I18n.default_locale = :en
  Translator.fallback(true)
  I18n.locale = if session[:language].nil?
                  lan.config_value
                else
                  session[:language]
                end
  News.new.reload_news_bar
end

我假设该操作set_user_language尝试根据用户的机器/应用程序上设置的默认语言环境语言或会话语言为用户设置一种语言,但随后config_value调用的方法Ian似乎lan.config_valueNil.

这会导致重定向错误,因为它是在app/controllers/application.rb使用 a中调用的before_filter

before_filter :set_user_language

因此,在应用程序中完成任何操作之前调用/调用它。

临时修复将注释掉before_filter在文件顶部定义的 for 它app/controllers/application.rb

# before_filter :set_user_language

现在您可以尝试再次访问该页面。

您也可以考虑运行命令将文件rake db:seed中的数据播种db/seed.rb到数据库中,因为它包含应用程序平稳运行所需的一些重要数据。它似乎还包含Configurationconfig_value的数据。

就这样。

我希望这有帮助

于 2020-10-25T19:06:27.157 回答