javascript - 创建搜索函数以使用 'GET' 方法搜索 Sql 数据库

标签 javascript ruby database search sequel

我创建了一个 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>

最终我希望有这个搜索栏来搜索我的续集数据库。我想在我的 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 数据库?换句话说,我如何在数据库中搜索用户输入的内容,然后将结果显示在我的页面上?

谢谢!

最佳答案

第 1 部分 您创建一个 name <input/> 内的属性 field 。所以它看起来像这样:

<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

关于javascript - 创建搜索函数以使用 'GET' 方法搜索 Sql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29973574/

相关文章:

Ruby 加载错误 : cannot load such file -- tk

Ruby - 在模块而不是顶层获取 const_missing

javascript - MongoDB:连接已打开错误

javascript - 如何在javascript数组概念中添加html anchor 标记

javascript - Three.js ply loader - 对象未正确渲染

ruby - 如何在 rspec 中使用不同的 before hook 运行相同的规范

php - 在发送到 MySQL 数据库之前清理外部 XML 数据

javascript - 如何将 JavaScript 监听器添加到 PrimeFaces Ajax 事件

javascript - 如何在 jquery 中动态地将分隔符放入数组中?

Mysql触发器约束检查