【问题标题】:Creating a search function to search a Sequel Databse using a 'GET' method创建搜索函数以使用“GET”方法搜索 Sql 数据库
【发布时间】:2015-04-30 16:54:32
【问题描述】:

我创建了一个index.erb 文件,在该文件中,我有一个搜索栏的代码:

<nav>
  <div class="nav-wrapper">
    <form>
      <div class="input-field">
        <input id="search" type="search" placeholder="Search..." required>
        <label for="search"><i class="mdi-action-search"></i></label>
        <i class="mdi-navigation-close"></i>
      </div>
    </form>
  </div>
</nav>

最终我希望有这个搜索栏来搜索我的 Sequel 数据库。我想在我的app.rb 文件中使用 GET 方法。但是,我有一些障碍。

第 1 部分 如何将文本(用户在我的搜索栏中键入)保存到一个变量中,然后我可以在我的 GET 方法中使用该变量(在我的 app.rb 文件中)?换句话说,我如何保存用户在搜索栏中输入的内容?

第 2 部分 在我的 app.rb 文件中,调用什么 get 方法有什么关系?

第 3 部分 我想使用.where() 方法搜索我的数据库。在我的model.rb 文件中,我定义了一个类Town。在该迁移中,我收集了一组数据。我想搜索该数据。所以我猜我在app.rb 文件中的代码会是这样的(?):

@towns = Town.where(:name => @variable_from_part1)

使用我的问题第 1 部分中的变量,我将如何搜索我的 Sequel 数据库?换句话说,我将如何在数据库中搜索用户输入的内容,然后在我的页面上显示结果?

谢谢!

【问题讨论】:

    标签: javascript ruby database search sequel


    【解决方案1】:

    第 1 部分&lt;input/&gt; 字段中创建name 属性。所以它看起来像这样:

    <input name="search" type="text" placeholder="Search..."/>
    

    提交此输入的最基本方法是使用type=sumbit 的输入字段

    <input type="submit" value="Search"/>
    

    第 2 部分 调用 GET 方法无关紧要。您可以使用一种、两种等方法搜索数据库。一种方法是使用get '/search' do(或类似的东西)将用户引导至带有搜索栏的网页。然后你可以让搜索栏action 等于一个不同的根,比如get '/' do。您也可以在一个 GET 根目录下完成所有操作。

    第 3 部分 然后在 app.rb 文件中,在 GET 根 (get '/' do) 下,您将使用 params[:search] 来保存输入字段中输入的文本。

    get '/' do
        @towns = Town.where(:name => params[:search])
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-21
      • 2010-12-29
      相关资源
      最近更新 更多