new画面で入力データが、show画面で違うデータを持ってくる idが違う
∵パスの記載順が違ってた _path(@patient,@record)
```ruby def show : #redirect_to staff_patient_record_path(@record,@patient) :エラー ↓↓↓↓↓↓↓↓↓↓↓ ↓↓↓↓↓↓ここ変えた↓↓↓↓↓ redirect_to staff_patient_record_path(@patient,@record) end ```routes.rbでルーティングを確認すると
/staff/patients/:patient_id/records/:id(.:format)
patients/:patient_id と records/:id がこの順番で必要
ターミナル
Prefix Verb URI Pattern Controller#Action
staff_patient_record GET /staff/patients/:patient_id/records/:id(.:format) staff/records#show
↓↓↓↓↓ ↓↓↓↓↓↓
先 patients/:patient_id 次 records/:id
↓↓↓↓↓↓↓↓↓↓↓
redirect_to staff_patient_record_path(@patient,@record)
ほしいルーティングを限定指定する
:rails routes | grep ほしい名前
enumの書き方
enum カラム名:{"選択肢":"表示させたい文字","選択肢":"表示させたい文字",,}models/-.rb
enum カラム名:{"選択する":"表示させたい文字"}
enum adjacent: { "acceptable":"問題なし""erythema":""びらん,"erosion":"水疱膿疱"}, _prefix: true
オブジェクトの定義 と enumの書き方2
enum adjacent: { "acceptable":0,"erythema":1,"erosion":2,"blister":3,"ulceration":15}, _prefix: true
整数値部分を取りたい場合 {{カラム名}}_before_type_cast で持ってくる
config/locales/ja.ymlファイルで日本語化しておく
show画面では @record.barrier_i18n のように_i18nで呼び出す
```ruby:models/-.rb enum adjacent: { "acceptable":0,"erythema":1,"erosion":2,"blister":3,"ulceration":15}, _prefix: true enum barrier: {"acceptable":0,"erythema":1,"erosion":2,"blister":3,"ulceration":15}, _prefix: true#オブジェクトをpointとしてをここで定義する
# {{カラム名}}_before_type_cast 整数値部分を持ってこれる
def point
adjacent_before_type_cast + barrier_before_type_cast
end
```config/locales/ja.yml
ja:
record:
adjacent:
acceptable: 障害なし
erythema: 紅斑
erosion: びらん
blister: 水疱・膿疱
ulceration: 潰瘍・組織増大
barrier:
acceptable: 障害なし
erythema: 紅斑
erosion: びらん
blister: 水疱・膿疱
ulceration: 潰瘍・組織増大
show.html.erb
#_i18nで日本語化できる
<th>B:皮膚保護剤部:皮膚保護剤が触れていた範囲</th>
<td><%= @record.barrier_i18n%></td>
undefined method `id'エラー
∵ログインしていない&バリテーションまだかけてない
下の部分でエラー patientがnillになる
``` @dialy.patient_id = current_patient.id ```