初心者からのエンジニア日記

2020年6月末~TECH::CAMPにて本格的にプログラミング学習を開始。 販売職/店長を経て、駆け出しエンジニアの道へ一歩踏み出しました! 様々なアウトプットをしていきたいと思います! HTML/CSS,Ruby,Ruby on Rails,Java Script,jQuery,Haml/Scss,GitHub...

【Rails】CRUD,resourcesメソッド,ストロングパラメーター

本日のアウトプット

CRUD

・7つのアクション

・resources

・onlyオプション,exceptオプション

・ストロングパラメーター

 

 

CRUD

アプリケーション機能は、以下の4つの処理を組み合わせながら実装する。

  • C(create)...生成
  • R(read)...読み取り
  • U(update)...更新
  • D(delete)...削除

テータ取り扱いに関しての基本的な処理の頭文字を並べたのがCRUDである。

 

 

7つのアクション

CRUDを実現するには、それぞれの処理を記述する必要がある。

Railsにはそれらのアクションの設定が慣習的に決められている。

  • index...一覧表示
  • show...詳細表示
  • new...生成
  • create...保存
  • edit...編集
  • update...更新
  • destroy...削除

 

 

resources

上記7つのアクションへのルーティングを自動生成するメソッド。

 

例:

Rails.application.routes.draw do

  resources :tweets

end

 

resourcesの引数に:tweetsと言うシンボルを指定すると

/tweetsのパスに対応する全てのルーテングが生成・設定される。

 

 

onlyオプション,exceptオプション

only...resourcesにオプションとして加えると指定したアクションのみ

ルーティングを自動生成する。

 

例: indexアクションのみを設定したことになる 

Rails.application.routes.draw do

  resources :tweets, only: :index

end

 

except...resourcesにオプションとして加えると不要なアクションを指定してくれる。

 

例: destroyアクションを除いたルーティングを設定したことになる

Rails.application.routes.draw do

  resources :tweets, except: :destroy

end

 

 

ストロングパラメーター

指定したキーを持つパラメーターのみを受け取れるよう制限するもの。

ストロングパラメーターはプライベートメソッドとして定義する。

 

例:

private

def post_params

  params.permit( :受け取りたいキー名)

end

 

パラメーター

...リクエストに含まれて外部から渡されるデータ。

URLに含めるパラメーターやフォームから送信されるパラメーターがある。

 

プライベートメソッド

...クラス外から呼び出すことのできないメソッド。

繰り返し使用するメソッドもprivate以下に集約できる。