1.Этот код welcome/index.html.erb
:
<%= form_tag('search', method:"get",remote:true) do %>
<%= label_tag(:q, "Search for:") %>
<%= text_field_tag(:q) %>
<%= submit_tag("Search") %>
<% end %>
<div id="results">
<%= render 'searchresults' %>
</div>
2.Этот код _searchresults.html.erb
:
<table class="table">
<tr>
<th>Title</th>
<th>Description</th>
<th></th>
</tr>
<% @articles.each do |article| %>
<tr>
<td><%= article.title %></td>
<td><%= article.description %></td>
<td><%= link_to 'Show', article_path(article) %></td>
<td><%= link_to 'Edit', edit_article_path(article) %></td>
<td><%= link_to 'Destroy', article_path(article),
method: :delete,
data: { confirm: 'Are you sure?' } %></td>
</tr>
<% end %>
</table>
3.Этот код WelcomeController
:
class WelcomeController < ApplicationController
def index
@articles = Article.all
return @articles
end
def search
@query = params[:q]
@articles = Article.where('name LIKE ?', "%#{@query}%")
respond_to do |format|
format.html { redirect_to @articles }
format.js
end
end
end
Добавить маршруты:
root 'welcome#index'
get 'welcome/search'
код search.js.erb:
$ ('# results'). Html ("<% = render 'searchresults'%>")
Результат
Почему не работает ajax из Rails Application?Спасибо всем.Я использую рельсы 5.2, ruby 2.5.