2011-07-06 16 views
0

現在我已經得到了jQuery的代碼字段工作設置(使用jquery_token_input GEM)對我的作家模型和我的職務模型,使用的has_many通過:的著者,換句話說,你開始輸入作者的名字,它會出現,並選擇它。如果你沒有得到結果,你可以選擇'Add:new_name',它會創建一個新的作者。的Rails 3:令牌領域,需要一點點幫助調整我的代碼

我想用這個同樣的方法,爲用戶分配就像他們做一個作家「集合」的名字,但調整它因此只收集單個用戶進行搜索和顯示/創建。

我需要爲user_id coloumn分配給當我打電話創建集合模型!?我將如何修改 「名字怎麼樣?」, 「%#{PARAMS [:Q]}%」 也包括CURRENT_USER的USER_ID?

真的很感激任何見解或觀點。

## 

class ArtistsController < ApplicationController 
    def index 
    @artists = Artist.where("name ilike ?", "%#{params[:q]}%") 
    results = @artists.map(&:attributes) 
    results << {:name => "Add: #{params[:q]}", :id => "CREATE_#{params[:q]}_END"} 

    respond_to do |format| 
     format.html 
     format.json { render :json => results } 
    end 
    end 


## Post model 

    has_many :artistizations 
    has_many :artists, :through => :artistizations 
    attr_reader :artist_tokens 

    def artist_tokens=(ids) 
    ids.gsub!(/CREATE_(.+?)_END/) do 
     Artist.create!(:name => $1).id 
    end 
    self.artist_ids = ids.split(",") 
    end 

回答

0

我一直在爲此而苦苦掙扎。我正在努力做到這一點與一個habtm壽。 檢查你的代碼:

@artists = Artist.where("name ilike ?", "%#{params[:q]}%") 

ilike - 這應該是like

啊,ILIKE是Postgres的。