рельсы - есть ли способ захватить все параметры POST? - PullRequest
0 голосов
/ 02 февраля 2011

Я хочу захватить целые записи параметров, сохранить их в БД в одном поле (текст), а потом в дальнейшем получить по каждому отдельному параметру? Возможный? Любой пример, который вы можете показать? спасибо

Ответы [ 3 ]

2 голосов
/ 02 февраля 2011

Вы можете сериализовать весь хэш params (или любой другой объект)

class SomeModel < ActiveRecord::Base
  serialize :params
  …
end

class SomeModelsController < Applicationcontroller
  def some_action
    SomeModel.create(:params => params)
  end
end
0 голосов
/ 02 февраля 2011

Все, что вам нужно, это что-то вроде следующего. Я не включил все параметры Sendgrid, так как их так много, и вы поймете, что я имею в виду с несколькими:

class SendgridMessage < ActiveRecord::Base
  serialize :attachments
  ...
end

class SendgridMessagesController < ApplicationController
   def create
     SendgridMessage.create(:to => params[:to], :from => params[:from], :attachments => params[:attachments])
   end
end

Sendgrid отправит POST в / sendgrid_messages с параметрами, и ваш объект будет создан со всеми правильными полями (вам нужно будет добавить некоторые к примеру) и сериализованными вложениями, которые вы ищете.

0 голосов
/ 02 февраля 2011

возможно

request.raw_post

это то, что вы ищете?

http://api.rubyonrails.org/classes/ActionDispatch/Request.html#method-i-raw_post

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...