2012-02-21 5 views
1

블로그 작성자가 한 명뿐입니다. 작성자는 모든 페이지에 나타날 다양한 필드를 캡슐화합니다. 작성자 모델이 필요합니까?레일즈 모델의 한 인스턴스 만

제 저자 (저의 경우 MongoDB)를 저장해야하며 어떻게 레일에서 그렇게 할 수 있습니까?

답변

1

기본적으로 한 행만있는 모델을 원하십니까? 가장 쉬운 방법은 아마도 그렇게하는 것일 것입니다. seeds.rb 파일에서 새 작성자를 작성하십시오. Author.create :name => "Dmitry", :rails_skill => 9001 그런 식으로 언제든지 Author.first을 사용하여 액세스 할 수 있으며 어디서나 새로운 작성자를 작성하는 코드를 작성하지 마십시오.

이상하게 느껴진다. 자신을 위해이 기능을 만들고 미래에 새로운 저자를 추가하는 것에 신경 쓰지 않는다면, 인쇄 할 필요가있는 모든 곳에서 저자 정보를 하드 코딩하거나 작성자 정보를 설정하기 위해 사용자 정의 이니셜 라이저를 작성할 수 있습니다 세르지오의 대답처럼 접근하십시오.

+0

예, 한 행만있는 모델을 원합니다. 저자를 데이터베이스에 저장하고'Author.first'를 enywhere라고 부르는 것이 정상입니까? 단 하나의 항목 만있는 문서를 갖게됩니다. – Dmitry

+0

"정상"인지 아닌지는 모르겠지만 그렇게 할 것입니다. 당신이 seeds.rb에 그것을 넣는 한 Author.first가 될 것입니다. – wjl

1

블로그가 이런 식으로 설계되어 있고 다른 저자가 절대 없을 경우이 데이터를 DB에 저장할 필요가 없습니다 (상대적으로 정적 인 경우).

"모델"클래스를 만들고 그 안에 모든 값을 하드 코딩 할 수 있습니다.

class Author 

    def self.name 
    "Sergio" 
    end 

    def self.email 
    "[email protected]" 
    end 

end 

물론 실제 모델을 사용하고 실제로 데이터를 데이터베이스에 저장할 수 있습니다.

관련 문제