0

私はここで多くの同様の質問を見つけましたが、答えのどれも私の問題を解決していません。

/ user / 2にページをロードすると、次のエラーが発生します

NoMethodError in User_data#data

Showing /Users/Jimmy/Documents/Launchpad Toys/LPT_Repositories/orbit-analytics/app/views/user_data/data.erb where line #108 raised:

undefined method `<' for nil:NilClass

Extracted source (around line #108):

105:            </div>
106:       </div>
107:       
108:       <% if @videos_number < 1 %><p style="font-size: 18px; margin-top: 25px;">This user has no approved videos.</p>
109:       
110:       <% else %>
111:          

このエラーは、ビューで呼び出すすべてのインスタンス変数に対してコントローラーがnull値を返すことが原因で発生します。

関連するコントローラーの始まりは次のとおりです。

class UserDataController < ApplicationController

    require 'analytics_helper'

    include AnalyticsHelper

    def data

        require "date"

        @user_id = params[:user_id]

このエラーは、コントローラーがlib/analytics_helper.rbにあるモジュールAnalyticsHelperを見つけられなかったことが原因のようです。モジュールの始まりは次のとおりです。

Module AnalyticsHelper

    # Average analytics calculations for a given set of videos

    def analytics_tracker(video_ids)        
        total_likes, total_views, total_flags, total_days_visible = 0, 0, 0, 0
        total_characters, total_unique_characters, total_recurring_characters, total_custom_characters, total_custom_backgrounds = 0, 0, 0, 0, 0
        total_energy_level, total_emotions, total_scenes, total_duration = 0, 0, 0, 0

Rails3の/libディレクトリにあるファイルを自動ロードするapplication.rbの行のコメントを外しました。

config.autoload_paths += %W(#{config.root}/lib)

この問題はモジュールのロードに失敗したことが原因であることがわかっていますが、私が見つけた解決策のどれも私の問題を解決するのに役立ちませんでした。どんな助けでも大歓迎です。ありがとう。

4

1 に答える 1

2

moduleanalytics_helper.rbファイルの先頭で大文字にしないでください。試す:

    module AnalyticsHelper
      # ...
    end
于 2012-07-24T22:38:35.253 に答える