需要更多信息。基本上是你的觀點的代碼。我不認爲你需要在你的jQuery中寫任何rails的查詢。這很容易。
到目前爲止,我假設,從您的表單用戶將收到部分的問題的選擇。所以這些步驟應該在後面。
您將在您選擇的httm輸入上綁定更改事件。
$("#question_section").on(function(){
var value = $(this).value() // get whats the section value/text
})
現在在您的控制器中添加一個動作,您將在其中查詢問題。所以對此你需要做的事情。註冊服務商在路由中的行爲如下:
resources :questions do # I assume there is a questions resource
get :count, on: :collection
end
現在,這將爲您提供一個url作爲該行爲的路由。現在讓我們再次回到javascript部分。
$("#question_section").on(function(){
var value = $(this).val() // get whats the section value/text
$.ajax({
url: '/questions/count.js', // you can skip the format here
data: {section: value}
success: function(data){
$('input[name="question_count"]').val(data)
}
})
})
所以現在我們已經準備好了腳本。現在讓我們移動到控制器。
def count
number_of_questions = Question.select("DISTINCT(section)").where(section: params[:section]).count
render :js => number_of_questions
末
嗯,這是你可以遵循的步驟。在視圖層直接查詢是不可接受的。以責任爲中心的設計並不鼓勵這一點。我希望我能用我的方法提供一些提示。
請檢查想法和更好的方法來解決這個問題。謝謝。 – Rubyrider 2014-11-04 18:41:33