我不熟悉轨道上的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
原文地址:https://www.jb51.cc/jquery/177583.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。