是否可以在rails中使用用戶輸入的變量運行sql查詢?使用變量運行sql查詢的軌跡
我試圖通過數據庫搜索具有他們正在尋找的某些特徵的餐館(即美食,分數,郵編位置)。這是我的html.erb作爲參考。
<form id="frm1" action="form_action.asp">
Name: <input type="text" name="name" value="Antico Pizza"><br>
Lower Score: <input type=integer name="LowerScore" value=0>
Higher Score: <input type="integer" name="HigherScore" value=100><br>
Zipcode: <input type=integer name="Zipcode" value=30332><br>
<label for="Cuisine">Cuisine: </label>
<select name="Cuisine" id="Cuisine">
<%= @my_cuisines.each do|cuisine|%>
<option value=<%= cuisine.cuisine %> onclick="getCuisine()"><%= cuisine.cuisine %></option>
<% end %>
</select>
</form>
<button onclick="myFunction()">Search!</button>
<p id="demo"></p>
<script>
function myFunction() {
var x = document.getElementById("frm1");
}
這造成我的所有選項,當我在JavaScript運行
var x = document.getElementById("frm1");
,我能夠得到用戶插入他們的搜索的價值。
在我的模型中,我試圖創建一個SQL語句,它將接受用戶輸入並通過數據庫並收集它們。
即
sql = "select * from restaurant, inspection
where restaurant.rid = inspection.rid
and cuisine ='#{c}'
and totalscore > '#{l}'
and totalscore < '#{h}'
and zipcode = '#{z}'"
的#{x}
意味着是用戶變量(即C =食品,L = lowerScore ...)。無論如何在軌道中這樣做?
謝天謝地!我擔心它不能幹淨地完成。 我正在閱讀指南,但我想知道如何將用戶輸入存儲? html.erb頁面的用戶輸入是如何被推入變量的? – Akshay
剛剛在這裏回答了這裏:http://stackoverflow.com/questions/31500096/how-to-perform-user-input-in-rails –
如果答案適合你,你會介意接受它嗎? –