现在我已经在我的作者模型和我的帖子模型上使用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
答案 0 :(得分:0)
我也一直在努力。我试图用一个habtm tho这样做。 检查您的代码:
@artists = Artist.where("name ilike ?", "%#{params[:q]}%")
ilike
- 这应该是like
吗?
啊,ilike是Postgres。