2009-04-24 4 views
1

테이블없이 '검색'이라는 ActiveRecord 모델을 만들려고합니다. @search = Search.new 할 때이 오류가 계속 발생합니다.ActiveRecord에서 테이블을 찾는 것을 어떻게 중지합니까?

SQL : 오류 : 테이블 'searchdemo_development.tablelesses은'존재하지 않습니다 Rails model without database : 나는이 댓글에서 아이디어를 사용하고 tablelesses

SELECT * FROM.

class Search < ActiveRecord::Base 

end 

어떻게 액티브 테이블을 찾고 중지합니까 : 나는 또한 기본을하고 오류의 같은 종류를 얻을?

답변

1

난 당신이 이 같은 작업을 수행 할 수 있습니다 몇 가지 이유를 생각할 수 있습니다. 아마도 여러분은 ActiveRecord에 대해 비 db 관련 메소드를 활용하거나 객체를 예상 한 것과 ActiveRecord 인스턴스로 전달하기를 원할 것입니다. 더 많은 정보가 없으면 여기에서 AR을 사용하는 선택이 옳은지 또는 틀린지를 말하기 란 불가능합니다.

어떤 경우

,이 길을 계속하려면 ...

체크 아웃이 Railscast을 http://railscasts.com/episodes/121-non-active-record-model

또한이 보석 체크 아웃 : 나는 그것이 보인다 동의 http://github.com/kennethkalmer/activerecord-tableless-models/tree/master

+0

내가하려는 것은 http://railscasts.com/episodes/111-advanced-search-form과 유사합니다. 단, 검색을 데이터베이스에 저장하지 않거나 모델의 테이블을 갖고 싶지는 않습니다. . – sutee

0

왜 주님의 이름으로 테이블없이 행동 레코드 모델을 원하십니까? 활성 레코드 모델의 목적은 데이터베이스와 통신하는 것입니다. db 테이블없이 활성 레코드 모델을 갖는 것은 불가능하다고 가정합니다.

아마도 정규 수업을 원하십니까?

class Search 
    # your methods here 
end 
+0

을 이상한 ActiveRecord 패턴을 사용하여 테이블이없는 클래스를 만들었지 만 실제로 Rails의 ActiveRecord 구현에서 제공하는 유효성 검사는 유지하고 싶지 않은 모델 데이터에도 유용합니다. 그리고 확실히 불가능하지 않습니다. –

+0

유효성 검사를 원할 경우 Rails 또는 Active Record와 관련이없는 보석이 있습니다. 나는 그 이름을 기억하지 못하지만, 당신은 루비 포지에서 그것을 발견 할 것입니다. 또는 직접 작성할 수도 있습니다.) http://stackoverflow.com/questions/775976 –

+0

아, 그리고 이것은 ActiveModel을 사용하여 Rails 3.0에서 바뀔 것이다. 'ActiveModel :: Validations'을 포함하여 점심을 먹습니다. = D –

관련 문제