jquery – ajax如何从rails控制器上的ruby中检索数据

我不熟悉轨道上的ajax和 ruby.我已经自学了做项目.

现在我遇到了一个问题,我想使用ajax从控制器中检索数据.

我不知道如何写url部分:

$.ajax({
  type:"GET",url:"books",dataType:"json",success:function(result){
    alert(result);
  }
})

书是我的控制器的名字(书是我的表之一)

这段代码有效,但我不想从书中检索所有数据,而只想要它的一部分.
在我的书籍控制器中说一些动作测试数据

def test
  @test=books.find.last
  respond_do |format|
    format.html
    format.json {render ;json=>@test}
  end
end

但是当我将url更改为books / test时,我会收到一条错误消息,说在控制台日志中找不到404.

如何检索部分控制器数据?提前感谢

解决方法

那么你在这里尝试做的是创建一个名为test的非RESTful路由.因此,您需要将其添加到routes.rb中(有关详细信息,请参阅 here):
resources :books do
  collection do
    get 'test'
  end
end

如果需要,您可以传递这样的参数:

$.ajax({
  type:"GET",url:"books/test",data: {some_parameter: 'hello'},success:function(result){
    alert(result);
  }
})

然后您可以在测试方法中使用,如下所示:

def test
  some_parameter = params[:some_parameter]
  # do something with some_parameter and return the results

  @test=books.find.last
  respond_do |format|
    format.html
    format.json {render json: @test}
  end
end

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: <span id=&quot...
jQuery 添加水印 <script src="../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...