неопределенный метод `путь' для json:String во время загрузки трека в soundcloud

В приложении Rails я использую гем SoundCloud (https://github.com/soundcloud/soundcloud-ruby), чтобы загрузить звуковой файл в SoundCloud с помощью следующего кода. Файл загружается из формы с использованием ввода типа файла.

def upload
  @api_response = @soundcloud.post('/tracks', :track => {
    :title => params[:title],
    :asset_data => params[:sound].tempfile
  })
end

@soundcloud — это клиент SoundCloud, созданный в файле before_filter.

Когда я пытаюсь загрузить файл, я получаю эту ошибку:

NoMethodError (undefined method `path' for "json":String):
  app/controllers/api_controller.rb:223:in `upload'

Мне трудно понять основную причину ошибки. Любая помощь в этом очень ценится.


person Mahesh    schedule 24.04.2013    source источник
comment
В этой проблеме отмечается, что использование Ruby 1.9 может решить эту проблему.   -  person mccannf    schedule 25.04.2013
comment
@mccannf спасибо за указатель. Я обновил свой пакет, и теперь он работает лучше.   -  person Mahesh    schedule 25.04.2013


Ответы (1)


Попробуйте этот код.

загрузка по умолчанию

   file = params[:sound]
   title = params[:title]
   track = client.post('/tracks', track: {
      title: title
      asset_data: File.new(file.tempfile, 'rb')
      })

конец

person KKB    schedule 10.04.2014