我試圖動態重做搜索,因爲用戶按字符將它們輸入到搜索字段中。我對編程相當陌生,因此我不知道我在做什麼。感謝您的幫助。我該如何重做關鍵功能搜索
用戶/索引視圖:
<%= form_tag users_path, :method => 'get', class:"input-append" do %>
<%= search_field_tag :search, params[:search], :class => "search-query2", id:"search_on_index", placeholder: "Search for people" %>
<script type="text/javascript">
$('#search_on_index').keyup(function() {
var search = <%User.paginate(page: params[:page]).search('$(this).val();')%>
$('#listeners').replaceWith(search)
});
</script>
<% end %>
<%= will_paginate %>
<ul class="users" id="listeners">
<%= render @users %>
</ul>
搜索的工作原理只是沒有動態。
在您的服務器上運行的Rails應用程序(可能是某個位於雲中的計算機)採用'views/users/index.html。erb'模板,評估嵌入式Ruby,結果是一個HTML文檔(可能有一些JavaScript)發送到客戶端。客戶端(可能是您用戶的Web瀏覽器之一)接受該HTML文檔,呈現它並評估JavaScript。所以,例如,如果JS代碼說要修改HTML,您的瀏覽器將會這樣做並呈現結果。尤其是,你的Ruby代碼在你的... –
... JavaScript函數將永遠不會像你期待的那樣工作。你試圖實現的功能比較先進一些,你可能需要首先確定一些其他的概念,比如客戶機 - 服務器模型,Rails視圖/控制器的工作方式以及它們的功能,JavaScript可以做什麼以及不可以做什麼在網頁上等。從那裏你想要得到一個關於AJAX的句柄,它是如何工作的,它做了什麼,以及使用它的不同方式。一旦你知道如何使用AJAX,實現你所問的功能將非常簡單。 –