我有一个rails应用程序,显示一个表(tr)的业务。当用户点击前端的业务行时,我想查询我的rails数据库,获取与该业务相关的所有评论,并在同一页面上动态呈现。我不太确定这样做的最佳方法是什么,但是正在考虑构建一个使用jQuery AJAX查询数据库的路径。我目前收到404错误,不知道我错了哪一部分。
我的app.js中的事件监听器
$(function(){
$("#home-table").on('click', 'tr', function() {
var businessName = $(this).find(".business-name").text();
$.ajax({
url: "http://localhost:3000/query_business?name=" + businessName,
type: "GET",
dataType: "json"
}).done(function(server_data) {
console.log(server_data); #I will eventually parse out json data
}).fail(function() {
console.log("fail");
});
});
这就是我认为我应该在控制器中拥有的内容。
class BusinessController < ApplicationController
def query_business
@business = Business.find(name: params[:name])
@ratings = @business.ratings
respond_to do |format|
format.json { render :json => @ratings }
end
end
end
在我的routes.rb
中 get '/query_business', to: 'business#query_business', as: :query_business
答案 0 :(得分:0)
您可以使用
@business = Business.find_by(name: params[:name])
或
@business = Business.where(name: params[:name]).first
我认为方法find
期待该记录的id
。你得到404,可能是因为找不到商业记录。