Model.create 메소드를 실행할 때 : id에 대한 값을 지정하면 나중에 무효화됩니다. 예 : 대신레일 : .create는 다음에 대한 사용자 정의 값을 무효화합니다. id
Model.create (
:id => 50,
:name => Joe,
:enabled => yes
)
마지막으로 부르는 나는 .new를 사용하고 클래스 변수에 저장 한 다음 클래스 변수를 통해 내 id 값을 저장하고 할 필요는 저장 :
m = Model.new (
:name => Joe,
:enabled => yes
)
m.id = 50
m.save
이 코드를 seeds.rb에서 실행하려고하는데, 이것은 매우 건조한 코드가 아닙니다. 어떻게하면 더 나은 결과를 얻을 수 있습니까?
왜 그렇게해야합니까? Rails 컨벤션의 범위를 벗어나 있으므로 DRY가되지 않습니다 (Rails는 컨벤션을 나가기 위해 "처벌합니다"). – YuriAlbuquerque
Rails 규칙조차도 관계형 데이터베이스 협약의 문제입니다. 논리에 특정 값을 갖는 기본 키 ('do_something if user.id == 50')에 의존하고 있다면 당신이하고있는 일을 재고 할 필요가 있습니다. –