gpt4 book ai didi

ruby-on-rails - 使用 Rails API 和 JSON 创建用户?

转载 作者:行者123 更新时间:2023-12-04 04:59:30 27 4
gpt4 key购买 nike

所以我在 Rails 中测试了一个非常简单的 API,看看我是否可以使用 Chrome 插件 Postman(REST 客户端扩展)在本地创建用户。

在我的 rails 应用程序中,我为我的 API 设置了一个文件夹/命名空间,每当我尝试创建我的用户时,我都会收到以下错误:
缺少模板 api/v1/users/create, application/create with {:locale=>[:en], :formats=>[:json], :handlers=>[:erb, :builder, :raw, :ruby, :jbuilder, :coffee]}。搜索:*“PATH/app/views”

我正在使用 Rails 4.0.1 和 Ruby 2.0

我在下面发布了我发布的内容的屏幕截图:

Screenshot 1

module Api
module V1
class UsersController < ApplicationController
class User < ::User
# add any hacks
end

respond_to :json

def index
respond_with User.all
end

def show
respond_with User.find(params[:id])
end

def new
@user = User.new
end

def create
@user = User.create(user_params)
# respond_with(@user)

if @user.save
# render json: @user, status: :created, location: @user
redirect_to @user
end
end

private

def user_params
params.require(:user).permit(:name, :age, :location) if params[:user]
end
end
end
end

所以根据我的 user_params,我应该能够创建一个新用户,对吗?
如果您需要任何其他信息,请告诉我,我会尽快回复!
谢谢!

最佳答案

您可以使用 API 创建用户。

1)首先,您需要在您的 routes.rb 中放置适当的资源:

YourApp::Application.routes.draw do
namespace :api do
namespace :v1 do
resources :users
end
namespace :v2 do
# ... if needed
end
end

root to: 'users#index'
end

2)您需要创建一个 RESTfull 样式的 Controller 来处理请求。在这里,您的“创建”操作如何实现。
def create
respond_with User.create(fio: params[:fio], phone: params[:phone], region: params[:region], updated_at: Time.now)
end

使用 respond_to 的“创建”示例:
def create
# ...
respond_to do |format|
format.html {render text: "Your data was sucessfully loaded. Thanks"}
format.json {
User.create(... params ...)
render text: User.last.to_json # !
}
end
end

请参阅有关 respond_with 的文档和 respond_to如果你需要一些特别的东西来回应。

也可以是有关 API 构建的有用 railscasts 剧集: #350#352

附言文件夹/命名空间/v1/ users_controller 应与模块 Api 中的类名相同

P.S.2 你可以观察我的应用程序,在那里你可能会发现一些有用的东西(与你的应用程序相同 - 用于记录创建的简单 API) - myApp

users_controller 示例(controllers/api/v1/users_controller.rb):
#encoding: utf-8

module Api
module V1
class UsersController < ApplicationController # Api::BaseController
before_filter :authenticate_user!, except: [:create, :index]

respond_to :json

def index
#respond_with

respond_to do |format|
format.html {render text: "Your data was sucessfully loaded. Thanks"}
format.json { render text: User.last.to_json }
end
end

def show
respond_with User.find(params[:id])
end

def create
respond_with User.create(access_token: params[:access_token], city: params[:city], created_at: Time.now, phone: params[:phone], region: params[:region], updated_at: Time.now)
end

def update
respond_with User.update(params[:id], params[:users])
end

def destroy
respond_with User.destroy(params[:id])
end
end
end
end

关于ruby-on-rails - 使用 Rails API 和 JSON 创建用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20320913/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com