2011-02-12 1 views
2

좋아, 그래서 여기에 분명히 뭔가 빠져 있습니다. 내가 항목을 만드는 범주를 사용자가 선택할 수 있도록 rails3-jquery-autocompleteformtastic를 사용하고있어 :연결에 대한 자동 완성 입력 유효성 검사

class Category < ActiveRecord::Base 
    has_many :items 
end 

class Item < ActiveRecord::Base 
    belongs_to :category 

    validates :category_id, :presence => true 
end 

나는이를 통해 작업 있어요 : 모든 벌금과 멋쟁이 작동

semantic_form_for @item do |form| 
    form.inputs do 
    form.input :category_id, :as => :hidden 
    form.autocompleted_input :category, 
          :url => autocomplete_category_path, 
          :id_element => "#item_category_id" 
    end 
end 

; 사용자가 카테고리 이름을 선택하면 category_id가 숨겨진 필드로 들어가고 아이템이 적절히 저장됩니다.

그러나 사용자가 올바른 카테고리를 입력/선택하지 않은 경우 유효성 검사에 문제가 발생합니다. 하지 유효 범주에있는 상자에

  1. 사용자 유형은 무엇인가 : 다음과 같은 경우를 확인하는 적절한 방법은 무엇입니까. (지금은 실패하지만 인라인 오류는 실제로 숨겨진 필드에 있음)
  2. 사용자가 선택하면 텍스트 필드의 값이 잘못된 범주로 변경되어 숨겨진 필드의 ID가 생성됩니다 부패가되어 버립니다.이 또한 실패합니다. 대신에 부실 선택한 ID를 사용합니다.)

고마워!

답변

0

jQuery Tokeninput을 찾고 계신 것으로 보입니다. 당신은 REST를 통해 카테고리를 제공 또는 JSON을 포함

$("#mytokeninputfield").tokenInput("/categories.json", 
    { 
    tokenLimit: 1 // allow at most 1 item 
    }); 

<input type="text" id="mytokeninputfield" name="item[category_tokens]" data-pre="<%= @user.category_id %>"/> 

railscast #258 on tokenfields 참조 초기화뿐만 아니라 내 보석 tokenizes에 (I 현재이 버그를보고 자유롭게 사용하지 않지만 내가 알아서 할게 영감을 얻고 직접 해보세요 :))