привет, так что я пытаюсь сделать 2 вещи, один из них состоит в основном переадресовать на номер Идентификатор модели так вход «1» и перенаправляетRoR: Попытка Поиск по номеру или номер лицензии
localhost:3000/model/1
и вторая часть на самом деле делает поиск. у каждой модели есть строка текстового поля для license_no, и я хочу иметь возможность искать и возвращать результаты.
В настоящее время я не уверен, как бы я объединил их в одну форму поиска, если это возможно, или если для этого потребуется две отдельные формы поиска
У меня есть форма поиска только с полем license_no, но она всегда возвращает результат не найден ...
извините, что имя модели не в единственном числе, руководство, которое я использовал, чтобы изучить RoR, было так, и все работало, но у меня есть так много ссылок на квартиросъемщик в моем проекте, что это было бы некоторое время, чтобы найти их все
index.html.erb
<%= form_tag search_renters_path, method: get do |f| %>
<%= text_field_tag :license, nil, placeholder: "License Number" %>
<%= submit_tag 'Search', class: "btn-large" %>
<% end %>
модели/renters.rb
class Renters < ActiveRecord::Base
validates_presence_of :license_no
def self.search(params)
renters = Renters.where("license_no LIKE?", "%#{params[:license]}%")
end
end
controller.rb
def search
@renter = Renters.search([params])
end
search.html.erb - фрагмент кода
<% if @renter.blank? %>
no results
<% else %>
#show results
<% end %>
Editted код
модели/renters.rb
def self.search(params)
license_query = "%#{params[:license]}%"
id_query = "%#{params[:id]}%"
renters = Renters.where("license_no LIKE ?", license_query) if params[:license].present?
renters = Renters.where("id LIKE ?", id_query) if params[:id].present?
end
Контроллер
def search
@renter = Renters.search(params)
end
форму поиска
<%= form_tag search_renters_path, method: :get do |f| %>
<%= text_field_tag :license, nil, placeholder: "Driver's License" %>
<%= text_field_tag :id, nil, placeholder: "ID number" %>
<% end %>
Я пытаюсь использовать, если присутствует? чтобы пользователь мог решить, следует ли вводить номер ID или номер лицензии, вам не нужно вводить только один. В настоящее время, если я ищу лицензию нет, она не возвращает никаких результатов. но когда я ищу для ID, он возвращает соответствующий результат
попробуйте с '@renter = Renters.search (params) ' –