简单的搜索表单错误Rails 4

时间:2015-05-06 10:38:27

标签: ruby-on-rails ruby forms ruby-on-rails-4 search

我正在尝试在我的应用程序中添加一个简单的搜索表单。它应该按标题或说明搜索产品。我在Products模型中创建了部分,方法,但是当我尝试将render _search放入application.html.erb时,它崩溃了应用程序“我们很抱歉,但出了点问题。”任何想法如何解决? 文件:

应用程序/模型/ product.rb

class Product < ActiveRecord::Base
#...
def self.search(search)
    search_condition = "%" + search + "%"
    find(:all, :conditions => ['title LIKE ? OR description LIKE ?', search_condition, search_condition])
  end

  #...

应用程序/控制器/ products_controller.rb

class ProductsController < ApplicationController
  before_action :set_product, only: [:show, :edit, :update, :destroy]
#...
 def search
      @products = Product.search params[:search]
  end
#...

应用程序/视图/产品/ _search.html.erb

<%= form_tag :controller => 'products', :action => 'search', :method => 'get' do %>
      <%= text_field_tag :search, params[:search], :id => 'search_field' %>
      <%= submit_tag "Search", :name => nil %> 
      <%= link_to_function "Clear", "$('search_field').clear()" %>
<% end %>

应用程序/视图/产品/ _search_results.html.erb

    <ul>
     <% @products.each do |product| %>
 <li><%= link_to product.title, :action => 'show', :id => product.id  %></li>
      <% end %>
      </ul>

应用程序/视图/布局/ application.html.erb

<!DOCTYPE html> <%# Это файл макета-шаблона для всех веб-страниц%>
<html>



<head>

  <title>MyGift.com</title> 
...
<div id="search">
   <%= render :partial => "products/search" %>
</div>

...

来自服务器控制台的错误:  在布局/应用程序中呈现store / index.html.erb(9.5ms)   渲染产品/ _search.html.erb(0.9ms) 在499ms完成500内部服务器错误

1 个答案:

答案 0 :(得分:0)

您的代码没有问题。你的代码应该运行得非常好。我猜你错过了一些日志信息。最好分享您的日志文件的屏幕截图,以便我们可以看到是否缺少任何有价值的信息。