2010-07-02 5 views

답변

8

로드 할 수 있도록 모델의 네임 스페이스를 지정해야합니다.

> ./script/generate model Customer::Address 

그것은 반복적으로로드 app/models/customer/address.rb

class Customer::Address 

end 

에서 모델을 만들 것이다, 그러나 레일을 찾기 위해서는, 그것은 네임 스페이스가 필요합니다 :

발전기를 사용하는 그것은 그 길과 일렬로 나란히 서 있습니다.

제네레이터를 사용할 때 (적어도 레일 2.3.5 이하는 모두 이것을 테스트했습니다) 테이블 이름을 customer_addresses으로 만들지 만 기본적으로 모델은 여전히 ​​addresses이라는 테이블 이름을 찾습니다. 이주 데이터베이스 이름을 주소로 변경하거나 set_table_name 'customers_addresses' 또는 그와 유사한 주소를 추가하여 두 주소가 일치되도록해야합니다.

3

레일즈는 /app/ models의 모든 모델을 하위 디렉토리 (Ruby 2.0 이상)에서 재귀 적으로로드합니다. 논리적 하위 디렉토리 (데이터베이스, 사용자, 고객 등)로 나눌 수 있습니다.

관련 문제