2016-09-18 5 views
0

私はここにhttps://github.com/mbleigh/acts-as-taggable-onで見つけることができるact-as-taggable-on gemを使用しています。 機能は宝石から直接提供されているため、私のアプリ/モデルにはタグもタグも付けられていません。 タグはきれいに作成されています。しかし、私はタグが作成されているときにタグテーブルのuser_idカラムを現在のユーザに割り当てることができるようにしたい。何かのように:user_idをタグの作成時に割り当てる方法を教えてください。

#pseudocode 
before_save { tag.user_id = current_user.id } 

私は約最初のタグモデルを拡張するが、私は、タグのクラスは宝石の中に定義されているように、この場合にはそれを行う方法については考えているのに(私は思います)。私は私の質問は、どうタグをact-as-taggable-onで作成しているときに、tag.user_idが自動的にcurrent_user.idに割り当てられるかを確認するbefore_saveまたはafter_saveコールバックを実装するかどうかということですね。 これは私が試みたものですが、動作していないようです。私は別のタグモデル(宝石のモジュールのどこかで定義されたモデルではない)を追加しようとしました:

class Tag < ActsAsTaggableOn::Tag 
    before_create :assign_user_id 

    def assign_user_id 
     self.user_id = current_user.id 
    end 

end 

あなたの助けをありがとう!!!

答えて

0

act-as-taggable-onは、タグの所有権を提供します。例:https://github.com/mbleigh/acts-as-taggable-on

class User < ActiveRecord::Base 
    acts_as_tagger 
end 

class Photo < ActiveRecord::Base 
    acts_as_taggable_on :locations 
end 

@some_user.tag(@some_photo, :with => "paris, normandy", :on => :locations) 
+0

私はそれを知っています。私は特定の質問、私のコールバックを作る方法を求めています。その所有権を排除する。私は理由のためにそれを使用しませんでした。 – codigomonstruo

関連する問題