0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

9.11振り返り #オブジェクト

Posted at

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 ```
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?