Помогите с JSON в рельсах - PullRequest
0 голосов
/ 12 июля 2010

Мой бэкэнд - это мой Rails-сервер, который отправляет данные JSON на мой интерфейс. Во внешнем интерфейсе я использую javascript и jQuery, которые обрабатывают мои данные JSON и отображают некоторые из них.
Теперь пользователь может вводить число в зависимости от отображаемых на нем данных.
Таким образом, на основе входных данных пользователя вносятся определенные изменения в данные JSON, полученные ранее, и отправляют их обратно в мой бэкэнд в виде правильно кодированного JSON.

У меня вопрос: как я могу обработать эти данные JSON на сервере и сохранить введенные пользователем данные?

Ответы [ 3 ]

1 голос
/ 12 июля 2010

Не знаю, зачем вам нужно отправлять данные обратно в виде JSON, поскольку Rails может просто нормально обрабатывать данные формы, как говорит thomasfedb.Но если вам определенно нужно, вы можете использовать метод jQuery serializeArray, а затем выполнить быстрое преобразование из массива в JSON.См. Следующее:

http://api.jquery.com/serializeArray/#comment-47479466

Если вы пойдете по этому маршруту, вы можете использовать метод stringify в JSON2.js для создания допустимых данных JSON из вашего объекта.

http://www.json.org/js.html


отредактировано:

Извините, только что понял, что вы уже так далеко!Надо было правильно прочитать вопрос.

Вы можете использовать эту реализацию JSON ruby ​​ до parse данных JSON:

JSON.parse(json_data, {:symbolize_names => true})

, а затем просто использовать save метод из ActiveRecord::Base для сохранения вашей записи.

1 голос
/ 12 июля 2010

Предположим, что вы использовали JQuery.post() для отправки данных на сервер с dataType из 'JSON'

Тогда в вашем контроллере вы можете сделать это:

MyController << ApplicationController

  def my_action
    @data = params[:data] // client data available as a Ruby Hash object

    // Process data into @result (for example)

    respond_to do |format|
      format.json { render :json => @result.to_json }
    end
  end

end

Или вы можете опустить оператор render выше и предоставить представление (называемое my_action.json.erb), в котором вы можете отформатировать ответ JSON.

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