Tag: rest

在rails中的单个RESTful POST中创建多个资源

我正在使用rails创建一个API来暴露给我正在处理的iPhone应用程序。 据我所知,通常只有在发布到Rails中控制器的create动作时才创建单个资源。 但是,我不确定一次创建多个资源的最佳方法。 在单个POST中发布包含多个资源的JSON / XML是否可以在同一类型中创建? 例如,创建邮件然后添加许多收件人。 消息本身有一个模型,然后是属于该消息的收件人的模型。 我通过发布到/消息来创建消息,但如果我有50个收件人要添加到该消息,该怎么办? 对/ messages / 1 /收件人进行50次单独的POST似乎过度且浪费。 最好的方法是什么? 我是Rails和RESTful应用程序的新手,非常感谢任何帮助。

Restful Rails编辑与更新

我在编辑条目后尝试重定向到另一个页面,我假设它正在使用更新代码,因为您正在更新数据库。 我花了一些时间才意识到我在控制器中使用了错误的动作。 有人可以解释如何编辑和更新工作。 为什么有两种不同的行为? 它们之间有什么区别?

如何将自定义RESTful路由添加到Rails应用程序?

我正在读这两页 resources Adding more RESTful actions Rails指南页面显示 map.resources :photos, :new => { :upload => :post } 及其相应的URL /photos/upload 这看起来很精彩。 我的routes.rb显示了这一点 map.resources :users, :new => { :signup => :get, :register => :post } 当我这样做: [~/my_app]$ rake routes 我看到添加了两条新路线 signup_new_user GET /users/new/signup(.:format) register_new_user POST /users/new/register(.:format) 注意包含/new ! 我不希望这样。 我只想要/users/signup和/users/register (如Rails Routing Guide中所述)。 有帮助吗?

Rails Restful actions Index Put

我经常遇到我想要一次更新许多记录的情况 – 就像GMail设置许多消息“读取”或“未读”一样。 Rails通过ActiveRecord类的’update’方法鼓励这一点 – Comment.update(keys,values) 示例 – http://snippets.dzone.com/posts/show/7495 这是很棒的function,但很难映射到一个宁静的路线。 从某种意义上说,我希望看到:对集合采取行动。 在路线中,我们可能会添加类似的东西 map.resources :comments, :collection => { :update_many => :put } 然后在表格中,你会这样做…… … 这在许多层面都不起作用。 如果你这样做:: collection => {:update_many =>:put},rails会向索引动作(CommentsController #index)提交一个post,我希望它转到’update_many’动作。 相反,您可以执行:collection => {:update_many =>:post}。 这至少会在控制器中执行正确的操作。 并且,而不是<%form for @comments …您必须执行以下操作: { :controller => :comments, :action => :update_many } do |f| %> 它会以这种方式工作 仍然不完美 – 感觉有点像我们没有做’Rails方式’。 它看起来也像:post,and:delete对集合控制器也有意义。 […]

如何根据域名更改视图格式

我想知道是否有任何方法可以更改基于域名相同rails应用程序的视图格式。 例如 : www.domain.com => respond_to format.html api.domain.com => respond_to format.xml或format.json 感谢你的帮助

REST API:使用cookie和会话的自定义方法

我正在尝试使用REST API,所以我想从一个RoR APP1中获取APP2中的@current_user。 在APP1 /config/routes.rb中我有这个代码: resources :users do collection do get ‘current’ end end 在APP1 /controllers/application_controller.rb中我有这样的代码: before_filter :current_user def current_user if cookies[:remember_me] current_user = user_from_cookie else current_user = User.find_by_id(session[:current_user_id]) end unless !current_user.nil? default_current_user = User.find_by_id(1) end return @current_user = current_user.nil? ? default_current_user : current_user end 在APP1 /controllers/users_controller.rb我有这个代码: def index … end def show … end […]

如何构建Rails POST方法的邮递员请求

无论我如何格式化此请求的原始部分,我都无法避免下面的解析错误。 我有一个带有传递规范的create方法的Rails API,以说明控制器消息是合理的: describe “POST power_up” do let!(:client) { FactoryGirl.create :client, name: “joe”, auth_token: “asdfasdfasdfasdfasdfasdf” } it “should create and save a new Power Up” do expect { post :create, format: :json, power_up: FactoryGirl.attributes_for(:power_up) }.to change(V1::PowerUp, :count).by(1) end end 我正在使用Postman尝试POST。 无论我尝试什么,我都会收到错误: Started POST “/v1/power_ups.json” for 127.0.0.1 at 2014-08-30 18:05:29 -0400 Error occurred while parsing request […]

Rails RESTful应用程序中的分页和排序

有关如何在Rails应用程序中的资源上实现排序和分页并仍保持RESTful的任何提示? 如何以干净的方式映射页码和排序字段的参数? (我目前正在为我的应用中的每个资源使用map.resources:x ) 我应该知道的任何其他性能问题? (例如缓存) 提前致谢。 编辑我将问题重新制定为更通用的问题,希望我能得到更多答案。 我打算投票关闭这个,因为它不再相关。 感谢insane-dreamer和vrish88的答案。

一个来自Destroy动作的Redirect_to总是得到DELETE动词:我声明的方法

我在名为tareas_controller的控制器中有以下方法 def destroy @tarea = Tarea.find(params[:id]) @tarea.destroy respond_to do |format| format.html { redirect_to tareas_url } format.json { head :ok } format.js { redirect_to :controller => “clientes”, :action =>”show”, :id => @tarea.cliente, :format => :js, :method=>:get} end end 记录被删除了,之后我在服务器上获得以下代码: 重定向到http://127.0.0.1:3000/clientes/12.js?method=get已完成302发现于174ms 在2012-05-06 19:20:07开始删除“/clientes/12.js?method=get”for 127.0.0.1 +0200由ClientesController处理#Drown作为JS参数:{“method”=>“get”, “id”=>“12”} Cliente Load(0.0ms)SELECT“clientes”。* FROM“clientes”WHERE“clientes”。“id”=? LIMIT 1 [[“id”,“12”]] SQL(2.0ms)DELETE FROM“clientes”WHERE“clientes”。“id”=? [[“id”,12]]已完成406在131ms内无法接受 它似乎将带有DELETE谓词的请求发送到新控制器,我无法找到将其更改为对新控制器的GET请求的方法。 有人可以告诉我如何解决这个问题吗?

REST架构究竟是什么以及如何在Rails中实现?

这就是我对REST架构的看法。 对于每个资源,都有一个唯一的URI。 我们可以使用它的URI和HTTP动作[POST,GET,PUT和DELETE]来操纵该对象。 HTTP请求传输该对象状态的表示。 在我读过的所有文本中,REST都以一种奇怪而混乱的方式解释。 还有一件事,rails中的RESTFUL实现为不同的目的产生不同的url。 喜欢/团队 – >’索引’方法… /球队/新 – >’新’方法等等。 这不是rest,它定义每个资源都有一个唯一的URI ???