2013-04-01 76 views
0

我正在尝试为手机做一个应用程序,并且希望将Rails用作我的后端。我非常喜欢Activerecord,并且我想通过JSON API提供他的查询界面中最常用的方法(查找,第一个,最后一个等等)。我认为这应该是一个宝石,但没有找到它。通过JSON API扩展Activerecord

随着STANDAR轨道脚手架我只能查询像一个特定的记录:

http://myhost:3000/mycontroller/index/1.json 

我也想知道,是否有可用的请求的任何语法,可以指定任何类型的过滤器,像“1到10之间的编号” 或 “CREATED_DATE> = 2013年1月1日”,等等

感谢所有帮助

回答

1

时退房has_scope宝石。它不会将ActiveRecord发现者方法暴露给你的API(这是非常不安全的),但它提供了一些神奇的帮助者来将AR范围公开给它。

+0

不是我正在寻找的东西,但如果没有发现问题的宝石可以是一个很好的方法。谢谢 – Fernando

+0

我过去所做的是正确的我的索引行为是这样的:'@ foo = Foo.where(params [:q])'然后传递给q参数的任何东西都作为AR查询选项传递。 ..这真的很危险,但是......我不建议按照你的要求去做。 – cpuguy83

+0

是的,我认为它也很危险。暴露Sql Injection攻击中的where方法。但我不想公开所有方法,只是其中的一部分。我知道我可以为每个我想要公开的方法制作一个动作,但是我正在寻找一个有助于解决这个问题的宝石,以免重复我自己:)感谢@ cpuguy83 – Fernando