:group_name
クライアント側で一意性を検証する必要がある属性 があります。しかし、最初に、文字列を属性にアタッチしてから検証する必要があります。理由は聞かないでください。必要です =)
私はフォームを持っています:
<%= form_for Group.new, url: what_to_do_groups_path ,method: :get ,:validate => true do |f| %>
<div class="field_label">
<%= f.label :group_name%>
</div>
<div class="field">
<%=f.text_field :group_name %>
</div>
<%= submit_tag "Submit", :commit =>"submit" %>
<br class="clear" />
<br />
<%end%>
コントローラ:
attr_accessible :group_name
validates :group_name, :uniqueness => { :case_sensitive => false}
したがって、ユーザーは「RedBull」と入力します。の:group_name
値は「RedBull」です。"RedBull_Marc" という別のグループがある場合、文字列 "_Marc" を添付して、データベースで (クライアント側で) のみ検証したいのですが、どうすればよいですか?
このようなことをしてもいいですか?
validates :group_name+"_Marc", :uniqueness => { :case_sensitive => false}
そして、そのようなグループがすでにデータベースにあるかどうかを確認するために、複数の文字列を添付する必要がある場合。「RedBull_Marc」または「RedBull_Kate」がデータベースにあるかどうかを確認したいので、次のように正規表現で実行できます: /_(Marc|Katja)/ しかし、どこにビルドすればよいですか?
前もって感謝します。
編集:
クライアント側の検証が存在する必要があります。