我正在用搜索欄創建一個程序,該搜索欄在我的項目中搜索我的SQL DB。從SQL DB顯示信息到ERB網頁
Index.erb:我有我的index.erb
文件中搜索欄的代碼。
<form method="get" action="/submit">
<input placeholder="Search" type="text" name="userInput"/>
<input type="submit" value="Search" />
</form>
App.rb:在我app.rb
文件我用params[:userInput]
來獲取信息的用戶類型在搜索欄中。然後我通過.where()
方法將其傳遞到我的數據庫以查找具有相同名稱的項目。 (注意:我正在使用sinatra創建我的路線)。
get '/' do
erb :index
end
get '/submit' do
@item = Item.where(:name => params[:userInput]) #I created a table called `items` under my migration and a class called `Item` in my models folder
# puts @item.inspect
erb :index
end
Index.erb:然後回到我的ERB文件,我創建了一個div
,我想顯示的信息(名稱相同的詞,用戶在最初鍵入)所收集的來自DB。所以我做了:
<div>
<%= @item %>
</div>
但是這隻在我的網頁(#)上顯示一個hashtag。所以然後我去了我的app.rb
文件,並根據/submit
根做了@item.inspect
。我回來了:
#<Sequel::SQLite::Dataset: "SELECT * FROM 'items' WHERE ('name' = 'apple')">
如何顯示我的數據庫中與'apple'關聯的實際信息到我的網頁上?