0

http://loopj.com/jquery-tokeninput/

我正在使用的代码来自一个 jquery-tokeninput 分支,它允许在框中输入多个新令牌(不仅仅是已经存在的令牌)。当他们点击提交时,它返回的字符串格式是这样的:

16,42,'Subway',37,'McDonald\'s',734.

这些是存在的令牌的 ID 号,对于不存在的令牌,它会将它们包装在“引号”中。

我的问题是如何更改我的 new_custom_tokens 方法来解释他们是否输入了新令牌(检查它是否在引号中)。最终它会检查他们的帐户是否足够老以添加新标签,然后我需要运行我假设的 Tag.new (所以它只在它们完全有效时保存它,包括资源验证)

编辑:我还认为我需要某种不会在引号内拆分内容的验证

资源.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
4

1 回答 1

1

如果我理解正确,这应该可以解决问题:

def new_custom_tokens?
  self.tokens_list.each { |token|
    return true if token.include? "'"
  }
  false
end

基本上,它遍历 token_list 数组,如果任何标记具有 ' 字符,则返回 true。

于 2012-05-27T18:57:11.023 回答