我在使用令牌输入与行为-AS-加标签上的宝石插件保存为自定义tag_list标签的麻烦。现在,我在User.rb
中有acts_as_taggable_on :skills
,所以我想将标签添加到skill_list。目前,我看到的参数的服务器日志skill_tokens"=>"161"
,所以我相信形式发送标签ID,但是当我尝试user.skills
或user.taggings
在控制台,它不会显示任何东西。使用行为-AS-加标签,与jQuery的tokenInput插件多个加标签领域
我不知道我在做什么错。我需要你的帮助。 Anythings帮助,谢谢你!
User.rb
has_many :taggings, as: :taggable, dependent: :destroy
has_many :tags, through: :taggings
attr_accessor :skill_tokens
acts_as_tagger
acts_as_taggable
acts_as_taggable_on :skills
UserController的
def user_params
params.require(:user).permit(
:skill_tokens,
:skill_list: []
)
end
def load_tags
@user = User.new
@tags = ActsAsTaggableOn::Tag.all
respond_to do |format|
format.html
format.json { render json: tokens(params[:q]) } # get result from tokens method
end
end
# return search result for tags
def tokens(query)
@tags = ActsAsTaggableOn::Tag.all
@tags = @tags.where('name Ilike ?', "%#{params[:q]}%")
if @tags.empty?
[{ id: "<<<#{query}>>>", name: "Add: \"#{query}\"" }]
else
@tags
end
end
def load_categories
@categories = Category.all
end
,这里是我的jQuery代码
$('#user_skill_tokens').tokenInput '/signup.json ' tokenValue: 'user[skill_list][]' theme: 'facebook'
下面是纤薄
形式
= f.label :skill_tokens, "Tag List"
= f.text_field :skill_tokens
请更具体地说明什么是“出错” - 您是否收到错误?没有看到你应该做的事情? (如果是这样,你期望看到什么?)看到你不应该看到的东西?等 –
我遇到的问题是,当我尝试“user.skills”或“user.taggings”以确认数据是否保存到数据库时,它什么也没有显示。即使参数正在发送,数据也不会保存到数据库中。 – Ryuji
我不认为你需要attr_accessor,它是你的强大参数。也没有命名默认令牌值? –