http://loopj.com/jquery-tokeninput/
我正在使用的代码来自jquery-tokeninput fork,它允许在框中输入多个NEW标记(不仅仅是已经存在的标记)。它们单击提交时返回的字符串格式为:
16,42,'Subway',37,'McDonald\'s',734.
这些是存在的令牌的ID号,对于那些不存在的令牌,它将它们包装在“引号”中。
我的问题是如何更改new_custom_tokens方法以解释他们是否输入了新的令牌(检查它是否在引号中)。最终它将检查他们的帐户是否足够老以添加新标签,然后我需要运行Tag.new我假设(因此它只在它们完全有效时保存它,包括资源验证)
编辑:我还认为我需要某种不会在引号中分割内容的验证
resource.rb
def tag_tokens=(tokens)
self.tokens_list = tokens.split(",")
if new_custom_tokens?
custom_token_time_restriction
else
self.tag_ids = self.tokens_list
end
end
def new_custom_tokens?
if self.token_list ... #... not sure
end
def add_new_tag_time_restriction
# TODO: Check if they are anonymous or their account is newer than 7 days
end
答案 0 :(得分:1)
如果我理解正确,这应该可以解决问题:
def new_custom_tokens?
self.tokens_list.each { |token|
return true if token.include? "'"
}
false
end
基本上它循环遍历token_list数组,如果任何标记具有'字符,则返回true。