我是新來的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