에는 몇 가지 조언이 필요합니다. RoR에 대한 프로젝트를 진행하고 있으며 모델간에 어떤 관계를 사용해야하는지 잘 모릅니다. 나는 사용자, 게시판 및 메시지라는 세 가지 모델을 가지고 있습니다. 시작은 아주 간단합니다 : 사용자는 하나의 벽을 가지고 있으며, 그것은 사용자에 속하는, 그래서 나는이되어야합니다 같아요Ruby on Rails 모델 관계
class User < ActiveRecord::Base
has_one :board
end
class Board < ActiveRecord::Base
belongs_to :user
end
마지막 모델은 메시지이며, 여기에 내 문제를 온다. 메시지는 사용자가 작성한 것으로서 사용자가 글을 쓴 것이지만 벽에 쓴 이유이기도합니다 (다른 사용자가 속한 벽일 수도 있습니다).
나는 간단한 솔루션을 사용 :class Theme < ActiveRecord::Base
belongs_to :board
belongs_to :user
end
class User < ActiveRecord::Base
has_one :board
has_many :themes
end
class Board < ActiveRecord::Base
belongs_to :user
has_many :themes
end
을하지만 그것으로 만족하고 완벽하지이라고 생각하지. 그 경험이 많은 사람들을 위해 어려운 일이 아니다 나는 희망
를 (이 USER_ID 필드를 기입하지 않습니다 지금)
user.themes.create(:board => @board)
: 나는 나를 쓸 수하는 솔루션을 찾고 있어요처럼 생각 Ruby on Rails 모델에서 나보다. 고마워, 고마워.
내가이 보석을 사용하는 것이 좋습니다 이해하지만 이미 나는 마이클 하틀의 레일 튜토리얼에 루비에서 촬영 한 간단한 사용자 모델을 가지고 : 여기 railscast을 찾을 Youl. 당신이 제안하고있는 것을 할 수는 있지만, 단순한 다 대일 관계에서와 같이 라인이 불필요한 솔루션을 찾고 있습니다. 도움을 주셔서 감사합니다 – leonprou
이 문제를 다루는 몇 줄을 추가해야합니다. 안전한 대안이 없습니다! 왜냐하면 user_id를 제공하는 숨겨진 필드를 광고 할 수는 있지만 POST 및 GET을 통해 제공된 모든 데이터를 조작 할 수 있기 때문에 euser를 통해 클라이언트에 대한 제어권을 제공합니다! – davidb
실은 예상치 못한 방식으로 내 솔루션이 내가 원하는대로 작동했습니다. 귀하의 충고에 감사 드리며 앞으로도 구현할 것입니다. – leonprou