사용자가 좋아하는 출판물을 저장하고 문제가 발생하여 도움이 필요한 레일즈 애플리케이션에 루비를 만듭니다.레일스 3 데이터베이스 테이블에 저장된 속성으로 모델을 동적으로 생성합니다.
사용자는 책, 영화, 신문, 기사 등과 같이 원하는만큼 다양한 유형의 출판물을 추가 할 수 있습니다. 각 출판물 유형에는 서로 다른 속성이 있습니다. 예를 들어 책에는 저자와 발행인이있을 수 있습니다. 영화에는 감독과 제작자가있을 수 있습니다. 단일 발행물에는 많은 속성이 있습니다.
내 응용 프로그램은 현재 다음과 같습니다. 출판물 출판물 유형을 저장하는 자료가 있습니다. 특정 출판물에 대한 모든 속성을 저장하는 속성 이라는 자원이 있습니다. 마지막으로 즐겨 찾기이라는 세 번째 리소스가 있습니다.
사용자가 새 즐겨 찾기를 만들고 게시를 선택class Publication < ActiveRecord::Base
has_many :attribs
# columns in this model => name, hidden
# example (:name => "movie", :hidden => false)
end
class Attrib < ActiveRecord::Base
belongs_to :publication
# columns in this model => publication_id, name, datatype
# example (:publication_id => 1, :name => "Movie Title", :datatype => "string")
# example (:publication_id => 1, :name => "Director", :datatype => "string")
end
class Favourite < ActiveRecord::Base
# columns in this model => data, reason
# example (:data => "[serialized form data]", :reason => "some reason why its a fav")
end
, 나는 사용자가 특정 게시에 대해 선택한 속성을 생성 할 양식을하고 싶습니다.
데이터베이스 테이블에 저장된 특성을 사용하여 모델/양식을 동적으로 만들 수있는 방법이 있습니까?
Formtastic은 동적 폼 생성기이므로 폼을 만드는 데 사용할 수 있습니까?
내게 이것은 지나치게 복잡해 보이지만 내 응용 프로그램에 엄청나게 많은 양의 테이블이 없으면 다른 방법으로 설명 할 수 없습니다.