在我的Rails应用程序中,我有一个应通过ajax(remote设置为true)提交的表单。该表格可让用户添加嵌入式视频或将视频文件上传到应用程序。我通过在模式中使用引导标签来创建表单。Rails将表单处理为HTML而不是JS
当我使用形式的第一选项卡提交嵌入的视频,表单处理成功为JS。但是,当我尝试使用表单中的第二个选项卡上载视频时,表单被错误地处理为HTML。
如何确保表单总是作为JS处理?
视图:
:html => {:id => "videoEmbedModal", :class => "modal hide fade embedModal"},
:remote => true do |video_form| %>
:hidden, :label => false, :input_html => {:value => @project.id} %>
:hidden, :label => false, :input_html => {:value => -1} %>
:hidden, :label => false, :input_html => {:value => false} %>
:hidden, :label => false, :input_html => {:value => @step.id} %>
:hidden, :label => false, :input_html => {:value => true} %>
Add a Video
"label" %>We currently support Youtube and Vimeo
:placeholder => "Example: http://www.youtube.com/watch?v=bVj85o5hA_Q", :rows=>"2", :cols=>"50" %>
"vimeo_icon" %>
We support .mp4, .mov, and .avi video files.
"video_file_upload_field", :οnchange=> "return validateFileExtension(this)" %>
用于添加嵌入的视频日志消息:
Started POST "/videos" for 127.0.0.1 at 2013-10-16 13:52:51 -0400
Processing by VideosController#create as JS
Parameters: {"utf8"=>"✓", "authenticity_token"=>"YuHlkYWPJK7oAkKXoLAebUQLGWuTrX/RMabOzLfITkM=", "video"=>{"project_id"=>"13", "step_id"=>"-1", "saved"=>"false", "embed_url"=>"http://vimeo.com/73388765"}, "button"=>""}
![][2]
用于添加上传的视频日志消息:
Running transcoding...
ffmpeg -y -i /public/uploads/tmp/1381945989-16853-6328/Untitled.mov -vcodec libx264 -acodec libfaac -s 640x360 -qscale 0 -preset slow -g 30 -aspect 1.7777777777777777 /public/uploads/tmp/1381945989-16853-6328/tmpfile.mp4
Transcoding of /public/uploads/tmp/1381945989-16853-6328/Untitled.mov to /public/uploads/tmp/1381945989-16853-6328/tmpfile.mp4 succeeded
Started POST "/videos" for 127.0.0.1 at 2013-10-16 13:53:09 -0400
**Processing by VideosController#create as HTML**
Parameters: {"utf8"=>"✓", "authenticity_token"=>"YuHlkYWPJK7oAkKXoLAebUQLGWuTrX/RMabOzLfITkM=", "video"=>{"project_id"=>"13", "step_id"=>"-1", "saved"=>"false", "embed_url"=>"", "video_path"=>#<:http::uploadedfile:0x007f8a11393cd8 form-data name='\"video[video_path]\";' filename='\"Untitled.mov\"\r\nContent-Type:' video>>}, "button"=>""}
编辑 我完全删除了嵌入式视频选项卡,只是尝试使用文件字段提交视频,而且它仍在以HTML格式处理。所以我已经分离出这个问题并不需要在表单中设置表单的方式。我认为这可能与我用来上传视频文件(carrierwave-video)的Gem有关,但我仍然不确定,所以如果任何人能够摆脱任何光线,将不胜感激!
+0
您是否尝试过“:multipart =>:true”表单? –
+0
我忘记添加多部分:对我的表单正确,但它仍然被作为HTML处理而不是JS处理。 –
+0
那么:remote =>:true? –