2012-09-12 20 views
0

我怎樣才能做到這一點的Ruby on Rails的使用jQuery檢查是否受到過jQuery的存在於軌道2.3

驗證碼:

Model 
    Subject 

View 
    <%= text_field_tag :subject_1 %> 
    <%= text_field_tag :subject_2 %> 
    <%= text_field_tag :subject_3 %> 

塞納里奧:

用戶輸入的主題代碼在文本框(subject_1)上,如果用戶轉到第一個文本框(subject_1)旁邊的下一個文本框(subject_2),將會有一個重新加載圖標,然後根據相應的主題詳細信息(主題名稱,主題代碼,主題日程表)該鍵入主題代碼。如果主題不存在,它將顯示一條消息「主題不存在」。

回答

0

的想法是,當一個blur事件在subject1text_field發生AJAX調用到試圖找到與ID /描述/屬性的主題記錄由`text_field'給出返回成功的服務器進行或錯誤。該代碼將是這樣的:

$('subject_1').blur(function() { 
    var field_value = $(this).val(); 
    $.post("/subjects/validate_subject", field_value, function(data) { 
    success: function() { 
     // Here you populate the subject_2 text_field with the data from the server. 
    }, 
    error: function() { 
     // Here you populate some error content in your view. 
    } 
    }); 
}); 

記得添加validate_subjectroutes.rb
這只是你問題答案的開始。我建議你閱讀關於Rails和Ajax的交互。
這是一個很好的指導這個問題。 http://www.simonecarletti.com/blog/2010/06/unobtrusive-javascript-in-rails-3/

+0

我會在我的控制器上放什麼? – fujisan

+0

「validate_subject」方法根據搜索結果搜索主題並返回成功或錯誤響應。 – MurifoX

+0

這就是我的主題控制器上的validate_subject方法所包含的內容: @subject = Subject.find_by_sc_id(params [:subject1]) 數據在這裏如何處理? – fujisan