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