2012-09-27 2 views
1

저는 단순한 비용 테이블을 만들고 있는데, 데이터 객체를 생성하고 매개 변수를 전달하는 데 ActiveRecord 메소드가 작동하지 않는 것 같습니다. 이전에 아무 문제없이 똑같은 일을했는데 기존 테이블에서 작동하기 때문에 간단한 (내가 초보자 인) 뭔가를 놓치고 있어야합니다. 여기 레일스에서 ​​데이터베이스 객체를 만들 수 없습니다.

내가 무슨 짓을했는지 :

rails generate migration create_expenses 

2) 마이그레이션을 수정 : 1) 마이그레이션 만든

class CreateExpenses < ActiveRecord::Migration 
    def up 
    create_table 'expenses' do |t| 
     t.string :description 
     t.date :date 
     t.timestamps 
    end 
    end 
    def down 
    drop_table 'expenses' 
    end 
end 

3) 마이그레이션을

rake db:migrate 

4) 모델 만들기

class Expense < ActiveRecord::Base 
end 

5) 시험 등 없음, 새, 내가 해싱의 모든 다른 형태를 시도했습니다 *, 비용

testexp= Expense.create!(description: "Test Expense", date: "9/27/12") 
SQL (1.7ms) INSTERT INTO "expenses" ("created_at", "date", "description", "updated_at") VALUES (?,?,?,?) [["created_at", Thu, 27 Sep 2012 13:50:47 UTC +00:00],["date", nil], ["description", nil], ["updated_at", Thu, 27 Sep 2012 13:50:47 UTC +00:00]] 
=> #<Expense id: 1, description:nil, date:nil, created_at: "2012-09-27 13:50:47", updated_at: "2012-09-27 13:50:47"> 

를 만들 만들려고이 일 것으로 보인다. 작성한 후에는 testexp.sql을 통해 testexp.description = "Test Expense", 값을 변경할 수 있습니다.

도움이 될 것입니다.

답변

1

데이터베이스가 존재하며 찾기 작업을하고있는 것으로 보입니다. 그러므로 새로 생성 된 레코드입니다.

Expense.new(:description => "Test Expense", :date => "9/27/12") 
: 나는 당신의 문제가 무엇인지 생각
당신이 제대로 매개 변수를 추가하지 마십시오 만들 않을 때, 실제로 다음과 같아야입니다
관련 문제