Rails. postgres не может привести массив к строке

0

Я получаю не могу отличить Array к строковой ошибке при производстве, где я использую postgres, а в локальном я использую mysql. При создании определенных видео я получаю ошибку только при производстве.

В приведенном ниже коде videoid - это не что иное, как идентификатор видео YouTube, который я получаю от youtube

videoid = Video.parse_youtube(params[:video][:link]) if !params[:video].blank? and !params[:video][:link].blank?
              if videoid
            hash = video_info(videoid)
            if !hash["errors"]
              embed_code = "<iframe width=\"560\" height=\"315\" src=\"#{hash['embed']}\" frameborder=\"0\" allowfullscreen></iframe>"
              @video = Video.new(:name=>hash["name"] , :embed_code=> embed_code, :link=> params[:video][:link], :youtube_id=> videoid, :current_views => hash["current_views"], :initial_views => hash["current_views"],:uploaded_date => hash["uploaded"],:category => hash["category"])
            else
              @video = Video.new
            end
          else
            @video = Video.new
          end

Я не понимаю, где проблема. Он работает в mysql, но не работает в postgres.

  • 1
    Сообщение об ошибке? Это касается MySQL, PostgreSQL, обоих? Есть ли что-нибудь в журналах ошибок сервера? Серьезное отсутствие деталей здесь.
Теги:
youtube

1 ответ

0

Если какая-либо из переменных, которые вы пытаетесь ввести в строковую переменную в базе данных, на самом деле являются массивами, или если hash ["embed"] является массивом, тогда вы получите ошибки в этой строке.

Моя личная рекомендация - выводить класс каждой переменной, которую вы вставляете сразу после строки "if! Hash [" errors "] '. Например, "puts hash [" embludes "]. Class 'будет печатать класс, и если это Array, это может быть вашей ошибкой.

Вы должны иметь возможность видеть ошибку довольно легко.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню