Tag: rest

将Rails渲染格式限制为html的方法

我有一个只有html模板的Rails 2.1.2站点,例如jobs.html.erb,所以当我请求一个restful资源时: www.mysite.com/jobs/1 它呈现我的html工作,但是,如果我要求: www.mysite.com/jobs/1.xml 我收到错误: 模板丢失在视图路径c:/ workspace / mysite / app / views中缺少模板jobs / show.xml.erb 更糟糕的是,我也可以请求类似的东西 www.mysite.com/jobs/1.xyz 事实上,我看到了错误: 模板丢失在视图路径c:/ workspace / mysite / app / views中缺少模板作业/ show.xyz.erb 要严格地呈现html内容,告诉Rails我最不清楚也最简单的方法是除了.html.erb文件之外我不想呈现任何内容。 重要的是要注意: 我的一些控制器动作包含对render()方法的条件调用,而其他人使用默认的Rails行为,即如果不调用render(),则将呈现名为youraction.html.erb的模板。 我的代码不使用responds_to()方法 如果解决方案不在render / responds_to级别会很好,因为我必须修改大量的操作。 也许有一种方法来配置Rails,以便只呈现html模板?

data-remote true定义回调

我有一个表格,我想用data-remote=true选项提交。 但是我希望让我的创建操作返回json,然后通过页面上已存在的javascript来处理。 我可以使用form_for标记设置内联回调吗? 与此类似的东西: =form_for @foo,:remote => true, :success => “my_js_stuff” do |f|

Rally webservices api v 1.36 无法更新:无法写入工作单元中的更改

我正在使用拉力赛webservices api v 1.36,当我尝试创建一个新的拉力赛项目时,我收到此错误。无法更新:无法在工作单元中写入更改。 一周前代码工作正常,但现在它无法正常工作。 我正在使用ruby gem rally_rest_api。 提前致谢。

使用Ruby curb执行HTTP PATCH

我正在尝试使用curb进行HTTP PATCH。 查看代码,似乎没有为此公开方法。 有没有办法用路边做PATCH? 如果没有,Ruby中还有哪些其他库或方法可以实现这一目标?

如何获取Magento REST API的OAuth访问令牌?

我正在尝试访问我的Magento商店的REST API,但我似乎“似乎获得了访问令牌。 我一直收到400 Bad Request (OAuth::Unauthorized)错误。 这是我正在使用的代码: require ‘oauth’ require ‘mechanize’ @m = Mechanize.new @title = @m.get(‘http://178.62.173.99/’).title @callback_url = ‘http://178.62.173.99/’ @consumer = OAuth::Consumer.new( ‘b3ba0db944d1ad0d416329844734db54′, ’38fedbc5cdeed7803547b24a0980c834’, :request_token_path => ‘/oauth/initiate’, :authorize_path=>’/admin/oauth_authorize’, :access_token_path=>’/oauth/token’, :site => ‘http://178.62.173.99’ ) @session = {} @request_token = @consumer.get_request_token(:oauth_callback => @callback_url) @session[:request_token] = @request_token @session[:authorize_url] = @request_token.authorize_url(:oauth_callback => @callback_url) @m.get(@session[:authorize_url]) do |login_page| auth_page = […]

Ruby on Rails:REST API +文件上传+回形针

我正在尝试通过PUT请求在我的服务器上使用REST API上传附件。 我可以通过将二进制文件放在请求体中来实现这一点,但我也想将此文件保存为使用paperclip保存附件的模型的附件。 这是我目前涉及的类定义: class Cl < ActiveRecord::Base after_update :save_tses validates_associated :tses has_many :tses …truncated… def save_tses tses.each do |ts| ts.save(false) end end end class Ts { :thumb => {:geometry => “100×141>”, :format => :jpg} }, :path => “:rails_root/public/system/:attachment/:id/:style/:friendly_filename”, :url => “/system/:attachment/:id/:style/:friendly_filename” belongs_to :cl def friendly_filename “#{self.tsa_file_name.gsub( /[^a-zA-Z0-9_\.]/, ‘_’)}” end end 我可以使用html页面上的文件上传保存附件。 我想在控制器上执行此操作,该控制器通过PUT请求将文件作为二进制数据接收。 有什么建议?

发布请求不工作rest

我有这个表格,当我用我的用户名和密码提交时,登录工作: 现在我尝试使用rest-client登录网站: require ‘rest_client’ response = RestClient.post ‘https://website.de/login/index.php’, :username => ‘Horst’, :password => ‘Secret’ puts response.code 不知何故,这不会工作我得到状态代码200但成功登录将是303! 我相信问题是它不是http而是https所以我如何添加ssl? 谢谢

Twitter api表示速率限制为180(按用户身份validation),但使用twitter gem仅限于15个呼叫

我正在使用twitter gem与twitter API进行交互。 我正在使用single user authentication (不是仅应用程序身份validation),如下所示https://github.com/sferik/twitter/blob/master/examples/Configuration.md#single-user-authentication 我有一个页面,用户点击以使用twitter登录(我正在使用http://sign-in-with-twitter.herokuapp.com/ ) 一旦用户通过身份validation,我就获得token和secret ,然后使用我的app consumer_key和consumer_secret以及签名用户的token和secret来初始化Twitter::REST::Client ,如下所示 module Ktwitter class Manager attr_accessor :client def initialize token, token_secret @client = Twitter::REST::Client.new do |config| config.consumer_key = XXXXXXXXXXXXX config.consumer_secret = ZZZZZZZZZZZZZ config.access_token = token config.access_token_secret = token_secret end end def user @client.user end end end obj = Ktwitter::Manager.new request.env[‘omniauth.auth’][‘credentials’][‘token’], request.env[‘omniauth.auth’][‘credentials’][‘secret’] 我有一个(撬)断点,在那里我运行obj.client.user 15次(不到1分钟 […]

twilio-ruby gem在拨打电话时是否采用“from”,“to”和“url”以外的参数?

看看https://github.com/twilio/twilio-ruby/blob/master/lib/twilio-ruby/rest/calls.rb ,似乎只使用’from’,’to’和’url’ 。 如何传递’IfMachine’的值? 例如,以下似乎不起作用。 # set ACCOUNT_SID and AUTH_TOKEN twilioClient = Twilio::REST::Client.new(ACCOUNT_SID, AUTH_TOKEN) twilioAccount = twilioClient.account twilioAccount.calls.create({ :from => ‘from_number’, :to => ‘to_number’, :url => ‘/url’, ‘IfMachine’ => ‘Hangup’ }) # IfMachine parameter is not passed in the above request

从/向JSON API客观化Ruby Hashes

我刚刚发布了一个ruby gem来使用一些基于HTTP API的JSON: https://github.com/solyaris/blomming_api 我的naif ruby​​代码只是将API端点(json_data)返回的复杂/嵌套JSON数据结构转换为ruby Hashes(hash_data),以一对一的扁平转换(JSON到ruby散列,反之亦然)。 达的很好,但…… 我想编程接口更“高级”。 也许为每个端点设置类资源,但我对智能实现感到困惑。 让我用抽象代码解释一下。 假设我有一个API接收的复杂/嵌套JSON,通常是一个哈希数组,递归嵌套如下(想象示例): json_data = ‘[{ “commute”: { “minutes”: 0, “startTime”: “Wed May 06 22:14:12 EDT 2014”, “locations”: [ { “latitude”: “40.4220061”, “longitude”: “40.4220061” }, { “latitude”: “40.4989909”, “longitude”: “40.48989805” }, { “latitude”: “40.4111169”, “longitude”: “40.42222869” } ] } }, { “commute”: { “minutes”: 2, “startTime”: […]