Ruby on rails 高级搜索表单显示更多表格以获取更多结果
我正在关注Railscasts的高级搜索表单集 这是搜索模型:Ruby on rails 高级搜索表单显示更多表格以获取更多结果,ruby-on-rails,search,html-table,show,Ruby On Rails,Search,Html Table,Show,我正在关注Railscasts的高级搜索表单集 这是搜索模型: search.rb class Search < ActiveRecord::Base attr_accessible :keywords def segnalazione_animalis @segnalazione_animalis ||= find_segnalazione_animalis end private def find_segnalazione_animalis
search.rb
class Search < ActiveRecord::Base
attr_accessible :keywords
def segnalazione_animalis
@segnalazione_animalis ||= find_segnalazione_animalis
end
private
def find_segnalazione_animalis
segnalazione_animalis = SegnalazioneAnimali.order(:Titolo)
segnalazione_animalis = segnalazione_animalis.where("Titolo like ?", "%#
{keywords}%") if keywords.present?
segnalazione_animalis = segnalazione_animalis.where("Titolo like ?", "%#
{keywords}%") if keywords.present?
segnalazione_animalis = segnalazione_animalis.where("classe like ?", "%#
{keywords1}%") if keywords1.present?
segnalazione_animalis = segnalazione_animalis.where("specie like ?", "%#
{keywords2}%") if keywords2.present?
segnalazione_animalis
end
end
search.rb
类搜索
我有一个控制器.rb
class SearchesController < ApplicationController
def new
@search = Search.new
end
def create
@search = Search.create!(params[:search])
redirect_to @search
end
def show
@search = Search.find(params[:id])
end
end
class SearchesController
新的.html.erb文件是
<%= form_for @search do |f| %>
<div class="field">
<%= f.label :keywords %><br />
<%= f.text_field :keywords %>
</div>
<div class="field">
<%= f.label :keywords1,"Classe" %><br />
<%= f.text_field :keywords1 %>
</div>
<div class="field">
<%= f.label :keywords2,"Specie" %><br />
<%= f.text_field :keywords2 %>
</div>
<div class="actions"><%= f.submit "Search" %></div>
<% end %>
和显示文件:
<h1>Search Results</h1>
<%= render @search.segnalazione_animalis %>
搜索结果
我从segnalazione_animalis文件夹的索引文件中获取部分渲染:
_segnalazione_animali.html.erb
<table class="table1">
<tr>
<th>Titolo:</th><br>
<th>Classe:</th>
<th>Creato il:</th>
<th>Ultima Modifica il:</th>
<th></th>
</tr>
<% @search.segnalazione_animalis.each do |segnalazione_animali| %>
<tr>
<td><%= segnalazione_animali.Titolo %> </td>
<td><%= segnalazione_animali.classe %>
<td><%= l(segnalazione_animali.created_at, format:"%e %B %Y %k:%M:%S")</td>
<td><%= l(segnalazione_animali.updated_at, format:"%e %B %Y %k:%M:%S")%>
</td>
<td><%= link_to 'Mostra', [segnalazione_animali.user, segnalazione_animali]
%></td>
</tr>
<% end %>
</table>
\u segnalazione\u animali.html.erb
蒂托洛:
类别:
Creato il:
最后修改:
嗯,是的,你用一个分部来显示结果,分部定义了一个新的表格,所以如果有多个动物,就会有多个表格。渲染集合时,rails将自动渲染每个对象的相应部分
如果只需要一个表,请在show文件中执行此操作
<h1>Search Results</h1>
<table class="table1">
<tr>
<th>Titolo:</th><br>
<th>Classe:</th>
<th>Creato il:</th>
<th>Ultima Modifica il:</th>
<th></th>
</tr>
<%= render @search.segnalazione_animalis %>
</table>
搜索结果
蒂托洛:
类别:
Creato il:
最后修改:
在部分中,只包括
<tr>
<td><%= segnalazione_animali.Titolo %> </td>
<td><%= segnalazione_animali.classe %>
<td><%= l(segnalazione_animali.created_at, format:"%e %B %Y %k:%M:%S")</td>
<td><%= l(segnalazione_animali.updated_at, format:"%e %B %Y %k:%M:%S")%></td>
td><%= link_to 'Mostra', [segnalazione_animali.user, segnalazione_animali] %></td>
</tr>
rails魔力的所有部分。:)