【发布时间】:2014-06-17 03:13:42
【问题描述】:
我正在尝试使用 ruby 及其 RESTful 路由构建一个 RESTful API。我对 ruby 完全陌生(这是我的第一个项目),并且发现它的学习曲线非常陡峭。我试图生成一个简单的用户模型,并试图用它创建一个 CRUD 示例。目前,我坚持从发布的 json 对象在控制器内创建用户对象。我已经实现了自己的 create 方法,并试图让它回显我发布给它的 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
我做错了什么?为什么我的帖子对象没有显示到控制台?
【问题讨论】:
-
user_controller.rb 在 app/controllers/api 文件夹中吗?
-
我将控制器放在 api 文件夹中我现在收到 500 内部服务器错误@nyzm
-
这是我得到的新错误:
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 -
它似乎正在处理一些它抛出 422 的东西,我似乎无法弄清楚为什么@nyzm
标签: ruby-on-rails ruby rest ruby-on-rails-4 restful-architecture