Ruby on Rails モデルのメソッドとコントローラー

 

 

 

タグ機能のときに参考記事をもとに記述したこちらのメソッド・・

書いた場所はItems Modelで呼び出しもItems Controller

 

さて、大尊敬先輩エンジニアの方から、

「タグの機能なのだからタグのmodelで定義した方が良い」

 

なるほど・・難しい・・・どうやるんだろ・・

というわけで、まるで理解が薄い自分のため整理したいと思います。

 

Read more

ja.yml日本語化での悪夢

 

```

ja:
  views:
    pagination:
      first: <i class="fas fa-angle-double-left"></i>
      last: <i class="fas fa-angle-double-right"></i>
      previous: <i class="fas fa-angle-left"></i>
      next:  <i class="fas fa-angle-right"></i>
      truncate: "..."
  enums:
    item:
      status:
        close: "非公開"
        release: "公開"
        only_clerk: "店舗スタッフのみ公開"
  activerecord:
    errors:
      models:
        item:
          attributes:
            brand:
              required: "を選択してください"
    models:
      user: "ユーザー"
    attributes:
      user:
        email: "メールアドレス"
        name: "お名前"
        name_kana: "フリガナ"
        nick_name: "ニックネーム(表示用)"
        password: "パスワード"
        password_confirmation: "確認用パスワード"
        brand_id: "所属ブランド"
        brand_name: "ブランド名"
        store_id: "所属店舗"
        store_name: "店舗名"
    models:
      item: "投稿"
    attributes:
      item:
        item_image: "投稿画像"
        brand: "ブランド"
        status: "公開ステータス"
        text: "説明文"
  errors:
    format: "%{attribute}%{message}"
    messages:
      blank: を入力してください
      empty: を入力してください

```

 

 

name: "お名前"この辺が日本語化されなくてなぜ・・と悩んだ数時間後

 

 

```

 models:
      user: "ユーザー"
      item: "投稿"
    attributes:
      user:
        email: "メールアドレス"
        name: "お名前"
        name_kana: "フリガナ"
        nick_name: "ニックネーム(表示用)"
        password: "パスワード"
        password_confirmation: "確認用パスワード"
        brand_id: "所属ブランド"
        brand_name: "ブランド名"
        store_id: "所属店舗"
        store_name: "店舗名"
      item:
        item_image: "投稿画像"
        brand: "ブランド"
        status: "公開ステータス"
        text: "説明文"

```

 

まとめたら解消しました・・

よかったけど時を戻したい。

 

ActiveStorageエラー(タスケテ)

PF修正中ある日のこと、突然ユーザー詳細画面でエラーに・・・(悲劇)

 

なんだこれ・・・

 

というのも、つい数時間前まで普通に動いていたのですが

変更点としてはせいぜいレイアウト変えたり整理するため

rails db:resetでレコードを初期化したり(特に初めて行ったわけではない)

 

で、どの状態でエラーが出るかというと

「ユーザー新規登録→登録ボタンから詳細ページに遷移→getメソッドの途中でエラー」

 

Read more

オブジェクト指向について

なんとなーくオブジェクト指向って聞いたことあるけど説明できない・・・

そもそもプログラミングって

→指示に対してその通りにコンピュータを動かすようにする(プログラムを作る)こと

 

この時、プログラム作る中での"表現方法"として

 

オブジェクト指向プログラミング

②手書き型プログラミング

関数型プログラミング

 

など分別される!(他にもあるが上記が代表的なもの)

 

その中でオブジェクト指向とは

「"モノ"と"操作"に分けてプログラムを組みコンピューターに動作させる表現方法」

 

さらに詳しく・・

 

例を挙げるとゲーム機であるswitch

スプラトゥーン楽しそう・・・)

 

swithは

ゲーム機である本体

電源ボタン(マリオを走らせるBボタン)

 

といった

本体(=オブジェクト)+  操作により

初めて遊べるようになります。

つまりこれを置き換えると

2つが揃うことで初めてアプリケーション完成となる、ということです。

 

ではもう少しアプリケーションを例に詳しく・・

 

 

 

あるアプリケーションの3つのボタン「登録ボタン」「編集ボタン」「削除ボタン」

このボタンの条件として「width: 100px」「background-color: red;」「color: white;」

とする時、

オブジェクト指向を使わないと、

同じ3つのプログラムを3回書かなければいけない!(さらに多いと腱鞘炎・・)

 

ではこれをオブジェクト指向として考えると・・

「ボタン」 = 「モノ」 として1つ作ってしまえば

別のボタンを作るときには変えたい部分(色など)のみ変えるだけで済みます。

 

 

これにより効率的に開発」できる、ということです。

もう一つメリットとしてはエラー対処のしやすさ」が挙げられます。

 

例えば「ボタン」を押すことで「登録ができる」「ページが移行する」

というアプリケーションをオブジェクト指向の定義で表すと、

 

「ボタン」=「モノ」

「登録ができる」=「操作1」

「ページが移行する」=「操作2」

 

となります。

 

ではこの時エラーが出たとして・・(いやだな)

エラー文は

 

モノに対して

操作1に対して

操作2に対して

 

と分別されて出てくるので原因特定がしやすい!やったー!

簡易的ですがなんとなく説明はできそう・・。