「Rails g controller」実行時にviewの生成をskipする方法

[:contents] https://matazoukun.hatenablog.com/entry/2020/10/13/164803

フロント側はVueで実装していた為、viewの生成をskipできる方法を探しました。

Rails g controller 実行時にオプションを指定する

--skip-template-frameworkを付けることでviewの生成をskipできます。

Image from Gyazo

これだと、毎回設定しないといけない為、面倒くさいです。

②config.generatorsコマンドを使用する

config/applicaton.rbに以下の設定を追加する。

config/appication.rb

require_relative 'boot'

require "rails"

...

module PROJECT_NAME
  class Application < Rails::Application
    config.load_defaults 6.
    config.generators do |g|
      g.template_engine nil  # <= こちらを追加する!!
    end
  end
end

参考

Railsapiモードを参考にしています。 github.com

User.new でインスタンスが作成されない

エラー内容

Userモデルを作成後、rails console 上でUser.new した際にエラーが発生。

  • エラー内容
[1] pry(main)> User.new
ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR:  relation "users" does not exist
LINE 8:  WHERE a.attrelid = '"users"'::regclass

テーブルが見つからないらしい...

続きを読む

RailsのプロジェクトでVeturを使用した際のエラー解決方法

ワークツリーの直下にjsconfig.jsonを配置して以下のように記述。
この時、設定内容は公式の設定をそのまま使用していた。(何も考えずにコピペ)

{
  "compilerOptions": {
    "target": "es2015",
    "module": "esnext",
    "baseUrl": "./",
    "paths": {
      "@/*": ["components/*"]
    }
  },
  "include": [
    "src/**/*.vue",
    "src/**/*.js"
  ]
}

これだとエラーが返ってくる。どうやら、include内が間違っているらしい。
今回はapp/javascript内にvueファイルを置いているので当たり前だ...

その為、以下のように修正。

  "include": [
    "app/javascript/**/*.vue",
    "app/javascript/**/*.js"
  ]

これでいけると思ったが、またもやエラー。
node-modules下にsource-mapがないと怒られる...

そこで、source-mapをインストールする。

 yarn add -D source-map

これでエラーが発生しなくなった!!

Vue.js の開発にESLint + Prettier + Vetur を導入してみた

  • はじめに
  • Vetur、ESlint、PrettierをVscodeに導入する
  • ESLint と Prettierをプロジェクトにインストールする
  • jsconfig.jsonを作成する
  • VeturのLinterとしての機能をESLintに委譲する為の設定を行う
  • .eslintrcjsonlを作成する
  • .prettierrc.ymlを作成する
  • settings.jsonに設定を追加する
続きを読む

配列で使用できるメソッド

  • 要素の個数を取得する(size, length)
  • 最後尾に要素を追加する(push)
  • 配列を連結する(concat, +)
  • 和集合、差集合、積集合
  • インデックスを複数指定して要素を取得する(values_at)
  • インデックスを指定して要素を削除する(delete_at)
  • 値を指定して要素を削除する(delete)
  • ブロックを評価し、戻り値が真の要素を削除した配列を返す(delete_if)
  • ブロックを評価し、戻り値が真の要素を削除した配列を返す(reject)
  • ブロックを評価し、戻り値が真の要素のみを配列で返す(select、find_all)
続きを読む

rebase -i コマンドについて

  • 対話モードに入る
  • コミットメッセージのみを修正する
  • コミットを編集する
  • コミットの順番を並び替える
  • コミットを削除する
  • コミットを一つにまとめる
  • 途中で編集を中止する
続きを読む