2012-05-12 3 views
0

그냥 이해가 안되요. 튜토리얼을 따라 왔는데 저에게 맞지 않습니다. 누군가 이것을 이해하도록 도와 줄 수 있습니까? 덕분에왜 내 생성 기능이 작동하지 않습니까?

오류가 반환되지만 아무 것도 실제로 테이블에 삽입되지 않습니다.

class Photo < ActiveRecord::Base 
    attr_accessible :photos, :photo, :description 
    attr_writer :photos, :photo, :description 
    def image_file=(input_data) 
    self.filename = input_data.original_filename 
    self.content_type = input_data.content_type.chomp 
    self.binary_data = input_data.read 
    end 
end 

컨트롤러 (일부 코드)이 코드가 잘못 생각하고 .rb SQL은

create_table "photos", :force => true do |t| 
    t.string "description" 
    t.string "content_type" 
    t.string "filename" 
    t.binary "binary_data" 
    end 

, 그것은 자동 생성되었습니다. 이 자습서에서는 수정해야한다고 말하지 않았습니다.

def create 
    @photo = Photo.new(:photo => params[:photo]) 

    respond_to do |format| 
     if @photo.save 
     format.html { redirect_to @photo, notice: 'Photo was successfully created.' } 
     format.json { render json: @photo, status: :created, location: @photo } 
     else 
     format.html { render action: "new" } 
     format.json { render json: @photo.errors, status: :unprocessable_entity } 
     end 
    end 
    end 

보기

<%= form_tag ({:action => "create"}) %> 
    <%= file_field_tag "photo" %> 
    <%= submit_tag "Save" %> 
<%= form_tag %> 

답변

0

문제는보기에있을 수 있습니다. 대신 form_tag

<%= form_for @photo do |f| %> 
    <%= f.file_field :photo %> 
    <%= f.submit "Save" %> 
<% end %> 

form_tag 당신의 표기가 잘못 사용자 form_for하려고합니다. 시도해보십시오

<%= form_tag({:action => "create"}) do %> 
    <%= file_field_tag "photo" %> 
    <%= submit_tag "Save" %> 
<% end %> 
+0

모두를 시도했지만 그다지 효과가 없습니다. 대답 tho을위한 감사합니다! –

+0

이미지를 업로드하려면 http://bit.ly/a3MJgN 및이 자습서 http://bit.ly/fGtvP3을 살펴 보시기 바랍니다. 희망이 유용 할 것입니다. – Suborx

관련 문제