Rails에서 모델의 테이블 이름 매핑을 명시 적으로 어떻게 지정합니까?


230

Countries라는 Model 클래스가 있으며 'cc'라는 DB 테이블에 매핑하고 싶습니다.

Rails에서는 어떻게 되나요?

답변:


427

레일> = 3.2 (레일 4+ 및 5+ 포함) :

class Countries < ActiveRecord::Base
  self.table_name = "cc"
end

레일 <= 3.1 :

class Countries < ActiveRecord::Base
  self.set_table_name "cc"
  ...
end

table_name모든 모델에 대해 지정하는 것이 가장 좋은 방법 입니까?
Sung Cho

10
@MikeC-아니요. 가능한 한 짧게 작성하고 규칙을 덮어 쓸 때만 코드를 작성하는 방법입니다.
toobulkeh

@SungWonCho 각 모델에 테이블 이름을 지정하는 것이 가장 좋은 방법은 아닙니다. 테이블에 다른 이름이 필요할 때만 사용하십시오
Thorin

137
class Countries < ActiveRecord::Base
    self.table_name = "cc"
end

Rails 3.x에서 이것은 테이블 이름을 지정하는 방법입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.