2013-11-25 3 views
0
<%= form_for @video, :html => {:multipart => true} do |f| %> 
    <%= f.error_messages %> 
    <p> 
    <%= f.label :name %><br /> 
    <%= f.text_field :name %> 
    </p> 
    <p> 
    <%= f.file_field :translation_handwritten %> 
    </p> 
    <p><%= f.submit %></p> 
<% end %> 

이 오류가 발생하는 이유에 대해 아는 사람이 있습니까? 나는 꽤 잃어버린 ... Here is the screenshot of my error잘못된 인수 수 (2에 대해 1) 레일 form_for

다음은 내 응용 프로그램 용 Gemfile입니다. 가능한 범인이 있습니까? 무엇을 바꾸어야합니까? 소스 'https://rubygems.org'

gem 'rails', '3.2.14' 

# Bundle edge Rails instead: 
# gem 'rails', :git => 'git://github.com/rails/rails.git' 
gem 'sass-rails', '~> 3.2.3' 
gem 'bootstrap-sass' 
gem 'bcrypt-ruby', '3.0.1' 
gem 'devise' 
gem 'omniauth-google-oauth2' 
gem 'omniauth-facebook' 
gem 'whenever', :require => false 
gem 'carrierwave' #see README: https://github.com/carrierwaveuploader/carrierwave 

group :development, :test do 
    gem 'sqlite3' 
    gem 'pg' 
    gem 'rails_12factor' 
    gem 'ruby-debug19' 
    gem 'database_cleaner' 
    gem 'capybara' 
    gem 'launchy' 
    gem 'rspec-rails' 
    gem 'simplecov' 
    gem 'factory_girl_rails' 
    gem 'ffaker' 
    gem 'whenever' 
end 

group :test do 
    gem 'cucumber-rails', :require => false 
    gem 'cucumber-rails-training-wheels' 
end 

group :production do 
    gem 'pg' 
    gem 'rails_12factor' 
end 

group :assets do 
    gem 'coffee-rails', '~> 3.2.1' 
    gem 'uglifier', '>= 1.0.3' 
end 

gem 'jquery-rails' 
gem 'haml' 

UPDATE가 내가 가지고있는 다른 모델에 @video을 변경하면 오류하지 않습니다. (비디오에 첨부해야하기 때문에 분명히 올바르게 작동하지 않을 것입니다). 무엇이 이것을 일으킬 수 있습니까?

app/views/shared/_form.html.erb:1:in `_app_views_shared__form_html_erb___611020419_98374470' 
app/views/videos/translate_video_handwritten.html.haml:54:in `_app_views_videos_translate_video_handwritten_html_haml__702424599_100568110' 
+0

'form_for'의 기본 동작을 무시하는 보석/라이브러리가있을 가능성이 큽니다. Gemfile을 게시 할 수 있습니까? – zeantsoi

+0

있음 http://stackoverflow.com/questions/16278247/form-for-wrong-number-of-arguments-in-rails-4 일반적인 범인은 meta_search 및 client_side_validations입니다. –

답변

0

form_for 자동 사실으로 multipart 제공 :

require 'carrierwave/orm/activerecord' 

class Video < ActiveRecord::Base 
    attr_accessible :course, :qa_complete, :qa_id, :subject, :title, 
    :translate_complete, :translator_id, :type_complete, :typer_id, :video_id, :due_date, :translation_handwritten 

    validates :video_id, :presence => true, :uniqueness => true #add uniqueness in db too 

    mount_uploader :translation_handwritten, TranslationsUploader 


end 

업데이트 2 여기 내 응용 프로그램 추적이다. 그걸 없애보십시오. 다음 수정과

http://guides.rubyonrails.org/form_helpers.html#uploading-files

0

확인 :

<%= form_for(@video, :html => {:multipart => true}) do |f| %> 
-1
<% form_for "video", :html => { :multipart => true } do |f| %> 
0

비디오는 자원인가? 또한 동영상 경로가 있습니까? 그렇다면 모델에서 반송파 코드에 주석을 달아보십시오. 그래도 문제가 해결되지 않으면 전체 애플리케이션 추적을 붙여 넣을 수 있습니까?

+0

아니요, 저는 리소스와 경로로 사용자를 보유하고 있습니다. 때로는 동영상이 포함되어 있습니다. 내 앱에서 동영상은 사용자에게 할당됩니다. 이것이 문제가 될 수 있습니까? – rakoonise

0

url을 매개 변수로 사용하십시오. that처럼.

도움이 되었기를 바랍니다.

관련 문제