私はWebサービスとRailsも初めてです。私はレール5を使用してAPIを作成することに疑念があります。どのようにレール5アプリケーション用のAPIを作成しますか? APIのみのアプリケーションでは、レール5を使用したチュートリアルがあります。しかし、APIとビューの両方が1つのレール5アプリケーションに必要です。私はどうしたらいいですか?レール5にAPIを作成する方法は?
0
A
答えて
0
あなたはいつものように新しいレールプロジェクトを作成することができます
$ 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
のアクションにはrespond_to
が表示されています。これは、さまざまなリクエストタイプに対応する方法です。
それについての詳細を読むhttp://edgeapi.rubyonrails.org/classes/ActionController/MimeResponds.html#method-i-respond_to
関連する問題
- 1. レール5でショーアクションのカスタムルートを作成する方法は?
- 2. レールでモデルを作成する方法
- 3. レール5 API;レコードを更新する
- 4. api-modeでレール5を使用してカスタムミドルウェアを作成するにはどうすればいいですか?
- 5. レールでビューに対応するモデルを作成する方法
- 6. Plone 5のフィールドにフィールドとアクションを作成する方法は?
- 7. マイグレーションが必要なレール5プラグインを作成する
- 8. レールで関連モデルからオブジェクトを作成する方法は?
- 9. レールにシングルトングローバルオブジェクトを作成するには
- 10. フォーム内の関連モデルをレールに作成する方法
- 11. レールにActiveModelオブジェクトを作成する方法3
- 12. レールでコントローラーに「ページカウンター」を作成する方法
- 13. は5をレールにアップグレードする前に、アップグレードされたレール5アプリケーション
- 14. 2つのモデルをレールに接続する方法5
- 15. アソシエーションをレールに保存する方法5
- 16. レールにカスタム強力なパラメータを追加する方法5
- 17. レールで反応するckeditorイメージを作成する方法
- 18. レール5は、
- 19. spree 3.Xとレール5で静的ページを生成する方法
- 20. RingCentral REST APIを作成する方法
- 21. DoctrineマルチレベルAPIを作成する方法
- 22. SoftLayer API:チケットを作成する方法
- 23. アレグロ5でスプライトシートを作成、ロード、使用する方法は?
- 24. ヘルパー定義とレール5 APIモード
- 25. ASP .NET 5 WEB APIヘルプページを作成
- 26. リクエストヘッダーを取得する方法5 api
- 27. 2つのレールを接続する方法5つのアプリケーションを一緒にするAPI(レール)とフロントエンド(レールも同様)
- 28. レール3にシンプル/擬似APIを作成しますか?
- 29. ユーザグループを作成するレール
- 30. 通知センターウィジェットの作成方法(iOS 5)
は '新しいAPIだけでアプリケーションを作成する新しいmy_api --api'コマンドをレール。あなたはapiとビューが必要な場合は、通常のアプリケーション(APIモードなし)を作成し、コントローラメソッド内のjsons/viewsをレンダリングします – AndreyS
あなたはちょっと混乱しています。 Api専用モードは、特にビューを使用せず、使用されていないコードをロードするオーバーヘッドを必要としない、APIのみのアプリケーション向けです。あなたは完全に通常のレールアプリでAPIのエンドポイントを作成することができます。基本的に、apiエンドポイントはhtmlの代わりにjsonをレンダリングするコントローラーアクションです。それでおしまい。 –
@SergioTulentsevありがとうございます。しかし、APIのルートをどのように設定する必要がありますか? – poombavai