2011-04-06 3 views
0

지금 학생 프로젝트를 작성 중이며 기본 소셜 네트워크 기능에 lovdbyless 엔진을 사용하고 있습니다.
사진에 태그 지원을 추가하고 싶습니다. 나는 레일에 처음이므로 질문은 :
올바른 단계가 있습니까?
1. id 및 name 속성을 사용하여 데이터베이스에 'tags'테이블을 만들고 tag_id 및 photo_id 필드가있는 'tagsphotos'테이블을 만드는 마이그레이션을 추가하십시오.
2. 사진 에 'has_and_belongs_to_many'가있는 태그의 모델을 만듭니다. 3. 사진 모델에서 태그에 'has_and_belongs_to_many'를 추가하십시오. 4. 컨트롤러에서이 항목을 사용하기 시작하십시오.사진에 꼬리표 추가하기

이 조직이 효과적입니까? 많은 감사!

답변

0

어느 쪽이든 당신은 처음부터 작성하거나 당신이 중 하나를 acts_as_taggable_on 또는 acts_as_taggable_on_steroids 코드를 공부할 수 Polymorphic Associations

을 탐구 할 필요가 이미 개발 된 보석을 사용해야하는 경우.

class ActsAsTaggableOnMigration < ActiveRecord::Migration 
    def self.up 
    create_table :tags do |t| 
     t.column :name, :string 
    end 

    create_table :taggings do |t| 
     t.column :tag_id, :integer 
     t.column :taggable_id, :integer 
     t.column :tagger_id, :integer 
     t.column :tagger_type, :string 

     # You should make sure that the column created is 
     # long enough to store the required class names. 
     t.column :taggable_type, :string 
     t.column :context, :string 

     t.column :created_at, :datetime 
    end 

    add_index :taggings, :tag_id 
    add_index :taggings, [:taggable_id, :taggable_type, :context] 
    end 

    def self.down 
    drop_table :taggings 
    drop_table :tags 
    end 
end 
+0

감사합니다 예를 들어 acts_as_taggable_on에 대한 migration code입니다! 그것은 작동합니다! – Dmitry

+0

작업 해 주셔서 감사합니다. 그것은 stackoverflow에서 작동하는 경우 내 대답이나 leas upvote 그것을 틱 필요합니다. – tommasop

+0

분명히! 나는 여기에서도 새로운 사람이기 때문에 나는 대답을 할 수 없다. 그러나 나는 그것을 썼다. – Dmitry

관련 문제