Хотя я задал этот вопрос ранее, но еще не решил его. У меня есть модель студента со столбцом NAME, SCHOOLNAME, PARENTNAME и т. Д. Теперь я хочу сделать поиск, где, когда пользователь может выполнить поиск со следующими именами столбцов ... Например: если пользователь ставит NAME в строке поиска, тогда он должен получить все имена учеников, если пользователь выполнил поиск с именем SCHOOL NAME, тогда он должен получить все название школы .... Я много пробовал, но не достиг того, что хотел Помощь будет оценена ... СпасибоПоиск по названию столбца в рельсах
Извините, что не добавляли этот вопрос соответствующим образом.
После добавления @fbelanger решение в моем проекте, на самом деле ничего не произошло то, что я ищу это дает мне тот же результат ...
мой контроллер
class DataController < ApplicationController
before_action :set_datum, only: [:show, :edit, :update, :destroy]
# GET /data
# GET /data.json
def index
@data = Datum.all
query = params[:query]
Datum.all.map(&:query) if Datum::QUERIABLE.include?(query)
end
# GET /data/1
# GET /data/1.json
def show
end
# GET /data/new
def new
@datum = Datum.new
end
# GET /data/1/edit
def edit
end
# POST /data
# POST /data.json
def create
@datum = Datum.new(datum_params)
respond_to do |format|
if @datum.save
format.html { redirect_to @datum, notice: 'Datum was successfully created.' }
format.json { render :show, status: :created, location: @datum }
else
format.html { render :new }
format.json { render json: @datum.errors, status: :unprocessable_entity }
end
end
end
# PATCH/PUT /data/1
# PATCH/PUT /data/1.json
def update
respond_to do |format|
if @datum.update(datum_params)
format.html { redirect_to @datum, notice: 'Datum was successfully updated.' }
format.json { render :show, status: :ok, location: @datum }
else
format.html { render :edit }
format.json { render json: @datum.errors, status: :unprocessable_entity }
end
end
end
# DELETE /data/1
# DELETE /data/1.json
def destroy
@datum.destroy
respond_to do |format|
format.html { redirect_to data_url, notice: 'Datum was successfully destroyed.' }
format.json { head :no_content }
end
end
private
# Use callbacks to share common setup or constraints between actions.
def set_datum
@datum = Datum.find(params[:id])
end
# Never trust parameters from the scary internet, only allow the white list through.
def datum_params
params.require(:datum).permit(:name, :school, :hospital, :city, :food)
end
end
мою модель
class Datum < ActiveRecord::Base
QUERIABLE = %w(name city)
end
мой индекс
<p id="notice"><%= notice %></p>
<h1>Listing Data</h1>
<%= form_tag(data_path, :method => "get", id: "search-form") do %>
<%= text_field_tag :search, params[:search], placeholder: "Search here" %>
<%= submit_tag "Search" %>
<% end %>
<table>
<thead>
<tr>
<th>Name</th>
<th>School</th>
<th>Hospital</th>
<th>City</th>
<th>Food</th>
<th colspan="3"></th>
</tr>
</thead>
<tbody>
<% @data.each do |datum| %>
<tr>
<td><%= datum.name %></td>
<td><%= datum.school %></td>
<td><%= datum.hospital %></td>
<td><%= datum.city %></td>
<td><%= datum.food %></td>
<td><%= link_to 'Show', datum %></td>
<td><%= link_to 'Edit', edit_datum_path(datum) %></td>
<td><%= link_to 'Destroy', datum, method: :delete, data: { confirm: 'Are you sure?' } %></td>
</tr>
<% end %>
</tbody>
</table>
<br>
<%= link_to 'New Datum', new_datum_path %>
Я помню, как я ответил на это раньше. Разве это не работает? http://stackoverflow.com/questions/40955019/advance-table-search-in-rails/40966091#40966091 –
^Ничего себе, тот же вопрос, тот же ответ. – fbelanger