0

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

私が使用しているコードは、jquery-tokeninputフォークからのものであり、ボックスに複数の新しいトークンを入力できます(既存のトークンだけではありません)。[送信]をクリックしたときに返される文字列の形式は次のとおりです。

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
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 に答える