2012-08-26 3 views
0

나는 새로 생성 된 비계에 성가신 문제가있었습니다. 모든 것이 멋지게 돌아가지만 데이터를 입력 할 수있을 때마다 내가 저장하려고 할 때마다 성공적으로 커밋하지 않을 것입니다. 모든 분야.왜 레일이 생성 중에 데이터를 삽입하지 않는가? (새로운 비계)

은 다음과 같습니다

Started POST "/spraches" for 127.0.0.1 at 2012-08-26 23:34:03 +0200 
Processing by SprachesController#create as HTML 
    Parameters: {"utf8"=>"✓", "authenticity_token"=>"nMf1+rBegI9BKoSAekzq8iLPQPAHpiiPk2DlmhEQxsQ=", "sprache"=>{"name"=>"23", "level"=>"23", "zertifikat"=>"124", "zertifikat_anders"=>"213", "zertifikat_note"=>"f23"}, "commit"=>"Create Sprache"} 
    [1m[36m (1.0ms)[0m [1mBEGIN[0m 
    [1m[35mSQL (29.0ms)[0m INSERT INTO "spraches" ("created_at", "level", "name", "updated_at", "zertifikat", "zertifikat_anders", "zertifikat_note") VALUES ($1, $2, $3, $4, $5, $6, $7) RETURNING "id" [["created_at", Sun, 26 Aug 2012 21:34:03 UTC +00:00], ["level", nil], ["name", nil], ["updated_at", Sun, 26 Aug 2012 21:34:03 UTC +00:00], ["zertifikat", nil], ["zertifikat_anders", nil], ["zertifikat_note", nil]] 
    [1m[36m (1.0ms)[0m [1mCOMMIT[0m 
Redirected to http://localhost:3000/spraches/1 
Completed 302 Found in 35ms (ActiveRecord: 31.0ms) 

이유는 세부의 코드보고 후 나에게 obivous 될 : 나는 독일어로 내 테이블 이름 (Sprache -> 언어)와 레일이 복수로 설정했습니다. 그러나 컨트롤러는 단 하나의 형태로만 그것을 가지고있었습니다.

@sprach = Sprache.new(params[:sprach]) 

들어오는 코드와 일치하도록 params에 "e"를 추가했습니다. 공장.

답변

0

코드를 자세히 살펴본 후 이유가 불분명 해졌습니다 : 테이블 이름을 German (Sprache -> Language)으로하고 레일즈를 plural으로 설정하려고했습니다. 그러나 컨트롤러에는 singular 형식의 컨트롤러 만있었습니다.

@sprach = Sprache.new(params[:sprach]) 

들어오는 코드와 일치하도록 params에 "e"을 추가했습니다. 공장.