Rails 3:令牌字段,需要一点帮助调整我的代码

时间:2011-07-06 22:13:24

标签: jquery sql ruby-on-rails-3 token

现在我已经在我的作者模型和我的帖子模型上使用jquery令牌字段(使用jquery_token_input gem)进行了工作设置,使用has_many through:authorships,换句话说,你开始输入作者的名字,它会出现然后你选择它。如果没有结果,您可以选择“添加:new_name”,它将创建一个新作者。

我想使用相同的方法为用户分配一个'集合'名称,就像他们做作者一样,但是要调整它,这样只搜索和显示/创建单个用户的集合。

当我调用create时,是否需要将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

1 个答案:

答案 0 :(得分:0)

我也一直在努力。我试图用一个habtm tho这样做。 检查您的代码:

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

ilike - 这应该是like吗?

啊,ilike是Postgres。