Руби — RESTful API

Я пытаюсь создать RESTful API, используя ruby ​​​​и его маршруты RESTful. Я совершенно новичок в рубине (это мой первый проект) и считаю, что у него очень крутая кривая обучения. Я попытался создать простую пользовательскую модель и пытаюсь создать с ней пример CRUD. В настоящее время я застрял на создании объекта пользователя внутри контроллера из опубликованного объекта json. Я реализовал свой собственный метод создания и пытаюсь вернуть объект json, который я ему отправляю. По какой-то причине все, что я получаю, это 404 назад и страница, на которой показаны мои маршруты. Вот модель, контроллер, файл маршрутов и файл миграции, которые я использовал для реализации API, почему это не работает должным образом?

пользовательская модель:

#the user model
class User < ActiveRecord::Base
  validates :password, :email, :first_name, :last_name, :presence =>true
  validates_uniqueness_of :email

end

файл миграции БД:

#migration file
class CreateUsers < ActiveRecord::Migration
  def change
    create_table :users do |t|
      t.string :last_name, :null => false
      t.string :email, :null => false
      t.string :first_name, :null => false
      t.string :password, :null => false

      t.timestamps
    end
  end
end

Файл маршрутов:

Rails.application.routes.draw do

  # Define api routes for user
  namespace :api do
   resources :user, :defaults => { :format => 'json' }
  end
end

файл пользовательских контроллеров:

#user controller 
class UserController < ApplicationController
  def create
    puts params
  end
end

Что я делаю неправильно? Почему мой объект сообщения не отображается в консоли?


person ScottOBot    schedule 17.06.2014    source источник
comment
находится user_controller.rb в папке app/controllers/api?   -  person nyzm    schedule 17.06.2014
comment
Я поместил контроллер в папку API, теперь я получаю внутреннюю ошибку сервера 500 @nyzm   -  person ScottOBot    schedule 17.06.2014
comment
Это новая ошибка, которую я получаю: Started POST "/api/user.json" for 174.112.216.92 at 2014-06-17 03:53:56 +0000 Processing by Api::UserController#create as JSON Parameters: {"test"=>"test", "user"=>{}} Can't verify CSRF token authenticity Completed 422 Unprocessable Entity in 1ms   -  person ScottOBot    schedule 17.06.2014
comment
кажется, он что-то обрабатывает и выдает 422, и я не могу понять, почему @nyzm   -  person ScottOBot    schedule 17.06.2014
comment
проверьте это: stackoverflow.com /вопросы/7203304/   -  person nyzm    schedule 17.06.2014


Ответы (2)



В действии создания в контроллере пользователей попробуйте перенаправить на другую страницу или отобразить другое представление. Я считаю, что это избавит от ошибок маршрутизации.

class UserController < ApplicationController
  def create
    puts params
    redirect_to(another_page)
  end
end
person Xerif917    schedule 17.06.2014