我是新来的Web服务和Rails了。我有使用rails 5创建API的疑问。如何为rails 5应用程序创建API?我可以在API中找到一些教程使用rails 5的应用程序。但是我需要在单个rails 5应用程序中使用API和视图。我应该怎么做?如何在rails 5中创建API?
0
A
回答
0
您可以创建一个新的Rails项目和往常一样:
$ rails new my_project
$ cd my_project
$ bundle
然后你就可以使用scaffold
生成一些代码:
$ rails g scaffold Product name:string price:float
并迁移数据库:
$ rails db:migrate # => update the database
你现在可以看看app/controllers/products_controller.rb
class ProductsController < ApplicationController
before_action :set_product, only: [:show, :edit, :update, :destroy]
# GET /products
# GET /products.json
def index
@products = Product.all
end
# GET /products/1
# GET /products/1.json
def show
end
# GET /products/new
def new
@product = Product.new
end
# GET /products/1/edit
def edit
end
# POST /products
# POST /products.json
def create
@product = Product.new(product_params)
respond_to do |format|
if @product.save
format.html { redirect_to @product, notice: 'Product was successfully created.' }
format.json { render :show, status: :created, location: @product }
else
format.html { render :new }
format.json { render json: @product.errors, status: :unprocessable_entity }
end
end
end
# PATCH/PUT /products/1
# PATCH/PUT /products/1.json
def update
respond_to do |format|
if @product.update(product_params)
format.html { redirect_to @product, notice: 'Product was successfully updated.' }
format.json { render :show, status: :ok, location: @product }
else
format.html { render :edit }
format.json { render json: @product.errors, status: :unprocessable_entity }
end
end
end
# DELETE /products/1
# DELETE /products/1.json
def destroy
@product.destroy
respond_to do |format|
format.html { redirect_to products_url, notice: 'Product was successfully destroyed.' }
format.json { head :no_content }
end
end
private
# Use callbacks to share common setup or constraints between actions.
def set_product
@product = Product.find(params[:id])
end
# Never trust parameters from the scary internet, only allow the white list through.
def product_params
params.require(:product).permit(:name, :price)
end
end
正如你所看到的的create
行动。这是您可以如何响应不同的请求类型。
了解更多关于它:http://edgeapi.rubyonrails.org/classes/ActionController/MimeResponds.html#method-i-respond_to
相关问题
- 1. 在Rails 5中创建仅具有所需功能的REST API
- 2. 如何在Rails 4中执行api? Rails-api宝石合并在Rails 5中
- 3. belongs_to在Rails 5中创建关联吗?
- 4. 如何在加入的Rails 5中创建3个模型?
- 5. 如何在剪切/复制/粘贴的HTML 5中创建api
- 6. 如何在双子座5中创建问题评论API
- 7. 如何在Tapestry 5中创建组件?
- 8. 创建belongs_to的另一个Rails中5
- 9. 如何在Rails上创建好友模型5
- 10. 如何为现有的Ruby on Rails 5应用程序创建REST API?
- 11. Rails 5 ActiveRecord :: SerializationTypeMismatch通过API创建资源时
- 12. Rails 5 API和Phonegap
- 13. 如何在PHP ajax中创建5 X 5网格?
- 14. 如何在MVC 5中创建多租户视图结构5
- 15. 使用Rails创建API
- 16. 如何在rails中创建关系?
- 17. 如何在Rails中创建Datepicker FormHelper?
- 18. 如何在rails中动态创建named_route?
- 19. 如何在Rails中创建模型?
- 20. 如何在Rails中创建图形?
- 21. 如何在rails 3中创建'will_paginate'lazyload?
- 22. 如何在Rails中创建follower和followee?
- 23. 如何在Rails中创建类别
- 24. 如何在Rails中创建网址seofriendly
- 25. 如何在rails中创建哈希URL?
- 26. 如何在Rails中创建通过ID
- 27. 如何使用rails 4.2.7和ruby 2.3.3创建rails api项目?
- 28. 如何创建API
- 29. 如何创建在5:30 AM
- 30. 如何在Tastypie API中创建对象?
'轨新my_api --api'命令来创建新的API只应用。如果你需要api和视图,创建一个普通的应用程序(不用api模式),然后在你的控制器方法中渲染jsons/views – AndreyS
你有点困惑。仅限于Api的模式专门用于api-only应用程序,它不使用视图,也不需要加载未使用代码的开销。你完全可以在普通的rails应用程序中创建api端点。基本上,一个API端点是一个控制器动作,呈现json而不是html。而已。 –
谢谢@SergioTulentsev。但我应该如何配置API的路线? – poombavai