이전을 통해 레일스의 DB에 열을 추가하고 new.html.erb를 업데이트하여 필드를 양식에 추가했습니다.레일스에 모델 필드를 추가하지 않고 쿼리를 삽입합니다.
올바른 데이터는 요청 매개 변수에 있지만 생성 된 삽입 쿼리에는 항상 해당 열에 대해 null이 있습니다. 여기
{"commit"=>"Create",
"assignment"=>{"start_date"=>"08/04/2010",
"project_id"=>"5",
"allotment"=>"50",
"person_id"=>"33",
"end_date"=>"08/05/2010"},
"authenticity_token"=>"8f157a2a220caf716607162ce9557ab6505aab1a"}
및 널 열 보여주는 쿼리 결과 오류입니다 : 여기
Mysql::Error: Column 'end_date' cannot be null:
INSERT INTO `assignments` (`start_date`, `created_at`, `project_id`, `updated_at`, `allotment`, `person_id`, `end_date`)
VALUES('2010-08-04', '2010-08-04 03:36:21', 5, '2010-08-04 03:36:21', 50, 33, NULL)
문제의 마이그레이션 것 :
class ChangeDates < ActiveRecord::Migration
def self.up
add_column :assignments, :end_date, :date, :null => false
rename_column :assignments, :date, :start_date
end
def self.down
remove_column :assignments, :end_date
rename_column :assignments, :start_date, :date
end
end
여기
는 요청 PARAMS 있습니다 나는 무엇이 잘못되었는지 알 수 없다. 나는 롤백했고 행운을 빌어 2 번 변경 사항을 마이그레이션했습니다. 나는 혼란 스럽다.
이전 코드를 게시하십시오. –
당신이 사용하고 있습니까? attr_accessible 또는 무엇입니까? 할당 모델 – elmac
을 게시 할 수 있습니까? 실제로 attr_accessor에서 사용하고있었습니다. 댓글을 달아서 문제를 해결했습니다! 정말 고마워. 그 이유가 무엇입니까? 답변을 게시하면 해결 방법으로 표시됩니다. 감사. – evanmcd