所以我想做的是根据用户在输入字段中输入的位置生成啤酒厂列表。我如何设置它是在我的 javascript 中,我让浏览器向服务器发送 ajax 请求,然后服务器与第 3 方的数据库通信并返回浏览器。
当我在 Controller 中硬编码“芝加哥”这样的位置时,此代码有效,但我想对其进行概括,以便我可以传入用户输入的任何位置。我认为这与参数哈希有关,但不确定如何实现。
路线.rb
get 'search' => 'home#search_breweries_by_location'
家庭 Controller .rb
def search_breweries_by_location
breweries = @brewery_db.locations.all(locality: location)
render({:json=>breweries})
end
/home/index.html.erb
var location = document.getElementById('location').value;
$.post('/search', {locality: location}, function(data){
for(var i = 0; i < data.length; i++){
$('#brewery-list').append(data[i].brewery.name);
}
});
最佳答案
我自己对 Rails 还算陌生,但我一直使用以下范例在 ActiveRecord 中查找内容:
@brewery_db.locations.where(locality: params[:locality])
再次不确定这是否能解决您的问题,但也许 params[:locality]
部分可以满足您的需求。
关于javascript - 在我的 Rails 应用程序中使用 Params 哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19962744/