Tag: rest

使用Ruby Curb传递GET参数

我正在尝试使用Curb(curb.rubyforge.org)来调用需要在get请求中提供的参数的RESTful API。 我想获取像http://foo.com/bar.xml?bla=blablabla这样的url。 我希望能够做类似的事情 Curl::Easy.perform(“http://foo.com/bar.xml”, :bla => ‘blablabla’) {|curl| curl.set_some_headers_if_necessary } 但到目前为止,我能看到的唯一方法是在URL中手动包含?bla=blablabla并自己进行编码。 当然有一种正确的方法可以做到这一点,但我无法弄清楚阅读文档。

我可以从Windows Mobile应用程序调用REST Web服务吗?

我想构建一个简单的REST Web服务(使用Ruby on Rails)。 但是,我希望能够从Windows移动应用程序中调用此服务。 那可能吗? 或者我必须使用SOAP? 我对Windows Mobile应用程序没有太多经验,所以如果您可以提供伪代码或链接到可能的案例教程,那将是很好的。 谢谢, 谭

使用to_param为包含分隔符的字段使用Rails RESTful资源

我希望我的Rails 2.3.2应用程序响应并生成如下所示的URL: /websites/asd.com /websites/asd.com/dns_records/new 在我的config / routes.rb中,我有: map.resources :websites, :has_many => :dns_records map.resources :dns_records, :belongs_to => :website 然后我可以访问以下资源: /websites/1 /websites/1/dns_records 通过修改我的网站模型,我可以生成更好的URL,如下所示: class Website < ActiveRecord::Base def to_param domain_name end … end # app/views/websites/index.erb # Produces a link to: /websites/example_without_periods_in_name 但是,对于包含“。”的域名。 人物,Rails变得不开心。 我相信这是因为’。’ character在ActionController :: Routing :: SEPARATORS中定义,它列出了用于拆分URL的特殊字符。 这允许你做像/websites/1.xml这样的东西。 那么,是否有一种干净的方式允许’。’ RESTful URL中的字符? 我已经尝试重新定义ActionController :: Routing :: […]

rails是否使用方法:: patch使用_form.html.erb进行编辑?

我正在按照Ruby on Rails教程指南进行操作,我将在5.12节中使用partials来清理视图中的重复 。 我理解为什么按照DRY惯例使用partials ,但是,我很好奇new.html.erb和edit.html.erb的区别。 具体来说,在使用部分_form.html.erb文件之前,edit.html.erb文件显式调用了method: :patch … …现在_form.html.erb文件涵盖了new和edit,而没有显式调用PATCH : … 是否仍在“幕后”调用PATCH进行编辑?

使用acts_as_api属性格式化xml

我对acts_as_api有疑问。 我想格式化一个像这样的xml字符串: Some Text etc 这个有可能? 提前致谢

如何在rails中保持CRUD和RESTFull(具体示例)

我很难保持我的控制器不会太复杂,并且我们在绞架时会创建rails创建的基本操作。 如果下面的方法是正确的,有人可以告诉我。 我有一个模型Project和那些基本路线: GET /projects -> Project#index GET /projects/new -> Project#new POST /projects -> Project#create GET /projects/:id -> Project#show GET /projects/:id/edit -> Project#edit PATCH /projects/:id -> Project#update PUT /projects/:id -> Project#update 现在我想允许用户接受该项目。 首先,他有一个摘要视图,他可以按下按钮,它应该改变模型中的某些值。 我的第一次尝试是 GET /projects/:id/accept -> Project#accept POST /projects/:id/accept -> Project#accept_update 这感觉不对劲。 所以我想知道我是否应该这样做: GET /projects/:id/accept -> Acceptations#new POST /projects/:id/accept -> Acceptations#create 但是,我的我的Acceptations控制器正在处理Project模型。 什么开始让我感到困惑。 最重要的是,如果我使用第二个选项,路径应该是/projects/:id/acceptations/new这对于最终用户来说似乎很长并且令人困惑。

没有SQL查询的Web应用程序用于当前用户身份验

我有一个每秒钟有很多请求的Web服务器。 为了优化数据库的I / O性能,服务器当前只通过HTTP查询执行2个SQL查询: 有一个查询以获取当前用户, 有一个查询来读取或写入资源。 我现在想知道在会话变量中缓存当前用户的id是否也不聪明。 这样,服务器只能通过HTTP查询执行1个SQL查询。 为此,客户端必须在应用程序上进行身份validation。 然后,在检查用户名+密码的SQL查询之后,服务器可以将其id保存在会话变量中。 在此之后,我们可以删除无用的SQL查询。 因为这看起来非常简单,有用,我想知道为什么流行的身份validation插件,如Devise gem(对于Rails或Sinatra)似乎不会这样工作。 他们是最好的方式吗? 你有什么想法? 谢谢你的任何想法。

RESTful破坏Rails中的多态关联?

我如何破坏关联本身并让对象单独关联,同时保持这个RESTful? 具体来说,我有这些模型: class Event :surveyable, :dependent => :destroy, :include => :survey has_many :surveys, :through => :model_surveys end class ModelSurvey true end class Survey < ActiveRecord::Base has_many :model_surveys end 这就是说事件是:surveyable ( ModelSurvey belongs_to Event )。 我的问题是,无需创建ModelSurveysController ,如何在ModelSurvey保留Event和Survey同时销毁ModelSurvey ? map.resources :events, :has_many => :model_surveys ? 我不太确定在这种情况下该怎么做。 路由需要发生什么,控制器需要发生什么? 我希望url看起来像这样: /events/:title/model_surveys/:id 谢谢你的帮助,兰斯

创建我的用户时,参数数量错误(0表示1)

我知道有很多问题,但我无法找到答案。 所以,我构建了一个Rails 4 API,我尝试创建一个发布JSON请求的用户。 这里有一些我的代码: user.rb: class User “Position”, foreign_key: “position_current_id” has_many :positions searchkick locations: [“location”] def search_data attributes.merge location: [current_position.latitude, current_position.longitude] end devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable end application_controller.rb class ApplicationController < ActionController::Base respond_to :json, :html protect_from_forgery with: :null_session, if: Proc.new { |c| c.request.format =~ %r{application/json} } end registrations_controller.rb class Api::RegistrationsController {:token […]

Rails – map.resources的冗余RESTFUL操作? (新的,创造)

我想知道为什么当你使用map.resources在rails中创建restful路由时,它会生成新的,创建,编辑,更新的操作 ? 在为创建和更新声明一个动作并执行类似的操作时有什么不对吗? def create unless post? @user = User.new else redirect_to :action => ‘index’ if user.create(params[:user]) end end 所以我们可以有类似的东西 :GET users/create # to show the form (same as action – new) :POST users/create # to create a new user 由于Restful基于动词,这不是最好的使用方法吗? 感谢您的关注