创建搜索功能以使用 'GET' 方法搜索 Sequel 数据库
Creating a search function to search a Sequel Databse using a 'GET' method
我创建了一个 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
文件中,我定义了一个 class Town
。在那次迁移中,我收集了一组数据。我想搜索该数据。所以我猜我在 app.rb
文件中的代码应该是这样的 (?):
@towns = Town.where(:name => @variable_from_part1)
使用问题第 1 部分中的变量,我将如何搜索我的 Sequel 数据库?换句话说,我如何在数据库中搜索用户输入的内容,然后在我的页面上显示结果?
谢谢!
第 1 部分
您在 <input/>
字段中创建了一个 name
属性。所以它看起来像这样:
<input name="search" type="text" placeholder="Search..."/>
提交此输入的最基本方法是使用输入字段,其中 type=sumbit
<input type="submit" value="Search"/>
第 2 部分
将 GET 方法称为什么并不重要。您可以使用一种、两种等方法搜索数据库。一种方法是使用 get '/search' do
(或类似的东西)将用户引导至带有搜索栏的网页。然后你可以让搜索栏 action
等于一个不同的根,比如 get '/' do
。您也可以在一个 GET root 下完成所有操作。
第 3 部分
然后在 app.rb
文件中,在 GET 根 (get '/' do
) 下,您将使用 params[:search]
来保存输入到输入字段中的文本。
get '/' do
@towns = Town.where(:name => params[:search])
end
我创建了一个 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
文件中,我定义了一个 class Town
。在那次迁移中,我收集了一组数据。我想搜索该数据。所以我猜我在 app.rb
文件中的代码应该是这样的 (?):
@towns = Town.where(:name => @variable_from_part1)
使用问题第 1 部分中的变量,我将如何搜索我的 Sequel 数据库?换句话说,我如何在数据库中搜索用户输入的内容,然后在我的页面上显示结果?
谢谢!
第 1 部分
您在 <input/>
字段中创建了一个 name
属性。所以它看起来像这样:
<input name="search" type="text" placeholder="Search..."/>
提交此输入的最基本方法是使用输入字段,其中 type=sumbit
<input type="submit" value="Search"/>
第 2 部分
将 GET 方法称为什么并不重要。您可以使用一种、两种等方法搜索数据库。一种方法是使用 get '/search' do
(或类似的东西)将用户引导至带有搜索栏的网页。然后你可以让搜索栏 action
等于一个不同的根,比如 get '/' do
。您也可以在一个 GET root 下完成所有操作。
第 3 部分
然后在 app.rb
文件中,在 GET 根 (get '/' do
) 下,您将使用 params[:search]
来保存输入到输入字段中的文本。
get '/' do
@towns = Town.where(:name => params[:search])
end