Tag: post

将通过Mailgun通过电子邮件发送和处理的信息保存到我的应用中

我已经设置了Heroku和Railgun,以便能够从电子邮件中获取内容并存储它。 我已经明白,当电子邮件被发送到mailgun时,它们会被转发到我的应用程序,并且我的消息模型的空实例会自动创建,但是,电子邮件中没有任何字段被存储(尽管有匹配的schema(例如from:string subject:string etc))。 我的问题是我无法弄清楚如何获取HTTP POST请求的内容并对其进行处理,以便每条消息都存储有相应的信息。 我可以看到它进入heroku(通过heroku日志),但无法存储它。 我希望首先存储以下字段: 从 学科 附件 目前我的messages_controller.rb看起来像这样 def create @message = Message.new(params[:message]) respond_to do |format| if @message.save format.html { redirect_to @message, notice: ‘Message was successfully created.’ } format.json { render json: @message, status: :created, location: @message } else format.html { render action: “new” } format.json { render json: @message.errors, status: […]

防止rails 3上的ruby解析JSONpost

我在Ruby on Rails 3中有一个控制器方法,它接受application / JSON作为内容类型。 这一切都按预期工作,但我实际上不希望rails自动解析POST请求正文中的JSON。 此方法充当网关,只是将信息传递到队列中,并且可能非常大。 我不想浪费时间将数据处理到@_params,因为它是不必要的。 我相信我可以通过将请求标头中的内容类型设置为其他内容来解决这个问题,但我希望对于HTTP请求在语义上是正确的。 如何禁用此function? 编辑:更具体地说,如何才能为这一条路线编辑此function?

$ .AJAX用于在rails中创建多个记录

我正在使用Ruby on Rails,我有一个可以通过AJAX创建post的按钮,使用这个: $.ajax({ beforeSend: function(xhr) { xhr.setRequestHeader( ‘X-CSRF-Token’, $(‘meta[name=”csrf-token”]’).attr(‘content’))}, url: “/posts/”, type: “POST”, data: { post: { title: “Cheese”, content: “Cake”, } } }); 例如,如何格式化数据以一次创建多个post posts = [ { title: “Cheese”, content: “Cake” }, { title: “Key Lime”, content: “Pie” } ] 所以我可以用一个POST插入多个对象? 我有一个标题和内容列表。 我可能需要构建一个JSON对象吗? 无论这是否是好Rails练习,我该怎么做? 另外,我在哪里可以查找如何格式化此类HTTP请求?

Rails Put vs Post

我一直在阅读put和post请求之间的区别,我有一些与rails相关的问题:我想更改已经创建的行中的一个特定字段…我应该使用put还是post请求? 例如以下不同? #Assume this is a put request def update @model=Model.find(x) @model.field=”new_field” @model.save end #Assume this is a post request def update @model=Model.find(x) @model.field=”new_field” @model.save end #What if I use the rails update method? def update @model=Model.find(x) @model.update(model_params) @model.save end 提前致谢。

在Heroku环境中将POST请求视为GET

我有奇怪的情况。 我有一个RoR应用程序,它提供了我从Java应用程序连接的REST API。 我正在本地开发RoR,并在Heroku环境中部署它。 无论如何(我尝试从Java APP,Mozilla REST客户端等)我尝试发送应该由api控制器中的create action处理的POST HTTP请求。 在localhost上 – 一切都按预期工作。 在Heroku生产环境中 – POST请求被视为正常的GET。 以下是此资源的路线: api_v1_items GET /api/v1/items(.:format) api/v1/items#index {:format=>:json} POST /api/v1/items(.:format) api/v1/items#create {:format=>:json} api_v1_item GET /api/v1/items/:id(.:format) api/v1/items#show {:format=>:json} PATCH /api/v1/items/:id(.:format) api/v1/items#update {:format=>:json} PUT /api/v1/items/:id(.:format) api/v1/items#update {:format=>:json} DELETE /api/v1/items/:id(.:format) api/v1/items#destroy {:format=>:json} 所以我正在尝试对/api/v1/items传递所有必要参数的POST请求。 在localhost中,响应是正确的: Started POST “/api/v1/items?token=l4XOHrhDApPqTp1u4TxBjQ” for 127.0.0.1 at 2014-05-15 22:11:49 +0200 Processing by […]

redirect_to上的Ruby on Rails POST参数

我必须在我网站上的一个控制器中调用另一个URL。 问题是,对于所有参数,其他站点需要我溢出url。 无论如何从控制器调用另一个url并使用POST发送所有参数? 我不期待其他网站的回复。 此外,我认为使用Net :: HTTP库有一种方法可以做到这一点,我想我不知道如何。 谢谢

在Ruby on Rails中为post添加标签

我正在使用Scaffolding在Rails中创建一个博客。 我想在StackOverflow和WordPress上的每个post上添加一个’tags’字段。 我可以用字符串类型( rails generate scaffold post title:string body:text tags:string )然后以逗号分隔,但这不是好习惯,因为我希望读者按标签浏览(例如/tags/web20或/tags/lol )。 我怎样才能做到这一点?

Rails:NoMethodError(_controller的未定义方法_url。在创建之后我似乎无法正确响应json。为什么?

项目清单 我的config / routes.rb文件…… Rails.application.routes.draw do namespace :api, defaults: {format: ‘json’} do namespace :v1 do resources :hotels do resources :rooms end end end 我的app / controllers / api / v1 / hotels_controller.rb module Api module V1 class HotelsController < ApplicationController respond_to :json skip_before_filter :verify_authenticity_token def index @hotels = Hotel.all respond_with ({hotels: @hotels}.as_json) #respond_with(@hotels) end def […]

从有关rails图表api的post中删除“通过APP_NAME”

目前,我正在使用RestClient向朋友的时间线发布简单的post。 RestClient.post ‘https://graph.facebook.com/_friend_/feed’, :access_token => “_token_”, :message => “_message_” 这样可行,但当它显示在我朋友的时间轴上时,post底部会显示“通过APP_NAME”的文字。 有没有办法摆脱它?

使用Iron Router从Ruby发布到Meteor?

我一直在尝试从Ruby脚本获取消息到使用POST使用MeteorJS构建的webapp,但我一直面临一些问题。 关于使用Iron Router进行POST和GET方法管理的在线文档并不多。 我的Ruby脚本: meteorUri = URI(‘http://localhost:3000/newReport’); res = Net::HTTP.post_form(meteorUri, ‘message’ => ‘HelloFromRuby’, ‘max’ => ’50’) puts “From Meteor:\t#{res}” 我对Ruby没有多少经验。 我上面的代码大部分是在线的。 使用铁路由器的路由: Router.route(‘/newReport/:message’, {where: ‘server’}) .post( function(message){ Meteor.call(‘reportInsert’, {message: message}, function(error, recordId){ if (error){ alert(error.reason); } else { console.log(“Inserted ” + recordId); } }); }); 我试图让Ruby发一个post到http://localhost:3000/newReport并带有一个应该是字符串的消息。 函数reportInsert工作,我测试了它。 问题似乎在于发布POST或接收它。 谢谢!