0

私は初心者で、これを理解するのに苦労しています。

また、私は ActiveStorage を使用していて、ローカル ファイルがまあ、ローカルなので、私は本当に立ち往生しています。

コントローラーの 1 つに 1 つの引数 (url) を受け入れるメソッドを作成しました。(ボタンから) 適切に送信し、正しいパラメーターを渡していると思いますが、引き続き通知されます。ArgumentError (wrong number of arguments (given 0, expected 1)):

次のようになります。

私のモデルでは:

def transcript_text
        @transcript_text = Aws::TranscribeService::Client.new(region: 'eu-west-1')
end

def self.new_job_name
        SecureRandom.urlsafe_base64
end

内部のメソッドtranscript_controller.rb(おそらく間違っているエラー処理は無視してください):

def request_transcription(url)
    resp = @transcript_text.start_transcription_job( { settings: { show_speaker_labels: false, max_speaker_labels: 1, channel_identification: false}, language_code: "es-ES", media: { media_file_uri: url }, transcription_job_name: @transcript_text.new_job_name } )
    if resp
      format.html { redirect_to @transcript, notice: 'Transcript job started.' }
    else
      format.html { redirect_to @transcript, alert: 'Something didn't go as planned'}
    end
end

そして最後に、私の見解では:

<% url = @transcript.audio.service_url.to_s.split("?").first %>
<%= button_to 'Start transcribing', {:controller => "transcripts", :action => "request_transcription", :url => url } , { :method => :post }  %>

@transcript.audio.service_url.to_s.split("?").firstS3 バケット内で書き起こしたいファイルの uri を取得します。


したがって、私の推論は、そのボタンを押すとurl、パラメーターとしてをに送信しtranscript_controller#request_transcription、それを受け入れて機能させる必要があるということです。

何が欲しいですか: transcript_controller#request_transcriptionAWS Transcribe を使用して文字起こしジョブを開始したいと考えています。次に、de aws CLI で実際に確認したかどうかを確認し、そこから先に進みます。

私が得てArgumentError (wrong number of arguments (given 0, expected 1)):いるのは、私を夢中にさせているその悲しいことです。

サーバーログには何が表示されますか:

2019-09-15T16:33:47.927780+00:00 app[web.1]: I, [2019-09-15T16:33:47.927649 #4]  INFO -- : [b23d8f2a-fade-424b-8e21-6b532c5fd470] Started POST "/transcripts/request_transcription?url=https%3A%2F%2F[REDACTED].s3.eu-west-1.amazonaws.com%2F0d4mjj10zgdll7roxkn06rhrhmw9" for 185.79.22.122 at 2019-09-15 16:33:47 +0000
    2019-09-15T16:33:47.929108+00:00 app[web.1]: I, [2019-09-15T16:33:47.929029 #4]  INFO -- : [b23d8f2a-fade-424b-8e21-6b532c5fd470] Processing by TranscriptsController#request_transcription as HTML
    2019-09-15T16:33:47.929195+00:00 app[web.1]: I, [2019-09-15T16:33:47.929132 #4]  INFO -- : [b23d8f2a-fade-424b-8e21-6b532c5fd470]   Parameters: {"authenticity_token"=>"OKDuS9Lu6Y1nv0vgo50qagRNbLAysuqbkDb495zO4FryikWeexYVa+0uTht+Eevw3uUqJ+jA6mibsamcwcWX+A==", "url"=>"https://[REDACTED].s3.eu-west-1.amazonaws.com/0d4mjj10zgdll7roxkn06rhrhmw9"}
    2019-09-15T16:33:47.950168+00:00 app[web.1]: D, [2019-09-15T16:33:47.950019 #4] DEBUG -- : [b23d8f2a-fade-424b-8e21-6b532c5fd470]   User Load (3.8ms)  SELECT "users".* FROM "users" WHERE "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT $2  [["id", 2], ["LIMIT", 1]]
    2019-09-15T16:33:47.965636+00:00 app[web.1]: I, [2019-09-15T16:33:47.965509 #4]  INFO -- : [b23d8f2a-fade-424b-8e21-6b532c5fd470] Completed 500 Internal Server Error in 36ms (ActiveRecord: 3.8ms | Allocations: 1338)
    2019-09-15T16:33:47.971644+00:00 app[web.1]: F, [2019-09-15T16:33:47.971537 #4] FATAL -- : [b23d8f2a-fade-424b-8e21-6b532c5fd470]
    2019-09-15T16:33:47.971648+00:00 app[web.1]: [b23d8f2a-fade-424b-8e21-6b532c5fd470] ArgumentError (wrong number of arguments (given 0, expected 1)):
    2019-09-15T16:33:47.971651+00:00 app[web.1]: [b23d8f2a-fade-424b-8e21-6b532c5fd470]
    2019-09-15T16:33:47.971653+00:00 app[web.1]: [b23d8f2a-fade-424b-8e21-6b532c5fd470] app/controllers/transcripts_controller.rb:70:in `request_transcription'

urlこれらのコード行でひどく間違っている可能性がある他のすべてのことは別として、request_transcription メソッド内でそれを取得するのを手伝ってもらえますか? 前もって感謝します

4

2 に答える 2