SakuraWi - BLog

WEBエンジニア。聴いたお話をまとめておく倉庫的な。スタックストックスタック!

ActionView::Template::Error (undefined method `total_pages' for #<User::ActiveRecord_Relationのエラー対処方法

初歩的なkaminariのエラーですが。

ActionView::Template::Error (undefined methodtotal_pages' for #<User::ActiveRecord_Relation`

でのエラーが indexのメソッドで出ちゃうな、という時。

    if params[:user_id]
      @users = User.where(xxx_user_id: params[:user_id]).page(params[:page])
    else
      @users = User.all.order(id: :desc).page(params[:page]).per(50)
    end

こういうケースの場合です。

indexで検索すな、ということはあるかもしれませんが、 簡易実装の時はやりたい時が多いはず。

ともあれ、 .per()を忘れると、 total_pagesが呼ばれなくなってしまうので、そこです。

複数件返る想定で考えたら、当たり前でした。

風邪引いた時の対処方法

なんじゃこれという記事だけど、残しておいてみる。

食べる・飲むもの

  • ポカリ
  • ウィダー
  • 水(大量に)
  • ファイブミニ
  • ポテトサラダ
  • パスタ
  • ひじきキャベツサラダ
  • 唐揚げ

行動面

  • とにかく寝る
  • お風呂にしっかりとつかる
  • 軽く掃除をする

数年前にも書いていた

sakurawi.hateblo.jp

ちょっと笑ってしまった。

【AnyPass】楽天モバイルでSMS認証・電話認証できない時の対処方法

経緯: エドシーラン見にいくためのAnyPassで認証がなかなか突破できず。あせった〜

認証突破方法

  • 楽天モバイルアプリ -> 「契約プラン」タブ

  • 楽天Linkログアウト->アンインストール

  • Anypassアンインストール

  • スマホ再起動

  • wi-fi OFF

調べたこと

SMSについて

どうも、楽天モバイルは国際SMSなどは飛ばない?模様。

飛ぶ国と飛ばない国があるのかも、AnyPassはイギリスナンバーっぽくてなぜか飛ばない

発信者番号非通知

これはOFFにしてても楽天Linkをインストールしていると、ラップされて非通知になる気がする。

国際電話だとなおさら?

Twitter情報

ついったーからいろんな情報を集めてみて試したら突破できました。

みなさま、感謝

Anypassの挙動

認証後の挙動は結構あやしかった...

tailwind.config.jsのpurge: とcontentの変更について

webpack-dev-serverを起動中のwarningに、contentについて記載があった。

purgeがcontentに変更されている模様

どうやら、含めたいものを書く形式になったよう。

これまでは、パージ(除外したいもの)だった。

tailswindが新しいverになっているとチェック推奨。

Upgrade Guide - Tailwind CSS

module.exports = {
  content: [
    './app/**/*.html.erb',    // Railsのビューファイル
    './app/**/*.html.haml',
    './app/helpers/**/*.rb',   // Railsのヘルパーファイル
    './app/javascript/**/*.js', // JavaScriptファイル
    './app/javascript/**/*.jsx', // JSXファイル
    './app/javascript/**/*.ts', // TypeScriptファイル
    './app/javascript/**/*.tsx', // TypeScriptのReactコンポーネント
    './app/javascript/**/*.vue', // Vueコンポーネント
    './app/**/*.rb',   
  ],
  theme: {
    extend: {},
  },
  variants: {
    extend: {},
  },
  plugins: [],
}

以下のエラーが出て直らないERROR! The server quit without updating PID file

mysql.server start を叩いたら、一生以下のエラーがでていた。

ERROR! The server quit without updating PID file

数時間格闘して、以下のコマンド通りにしたらなぜか治った。

history
  931  mysql.server start
  932  source ~/.zshrc
  933  mysql.server start
  934  brew uninstall mysql
  935  which mysql
  936  brew uninstall mysql@5.7\n
  937  rm -rf /opt/homebrew/opt/mysql@5.7\nrm -rf /opt/homebrew/var/mysql\n
  938  sudo rm -rf /opt/homebrew/opt/mysql@5.7\nrm -rf /opt/homebrew/var/mysql\n
  939  \nsakurawi@Wi-MacBook-Air lenormand_result %
  940  rm -rf /opt/homebrew/opt/mysql@5.7\n
  941  rm -rf /opt/homebrew/var/mysql\n
  942  sudo rm -rf /opt/homebrew/var/mysql\n
  943  rm -rf ~/.my.cnf\n
  944  brew cleanup\n
  945  brew install mysql@5.7\n
  946  mysql.server start\n

terminal

itermなど、全部閉じるべきだったかも。

全て閉じ直してからの再起動で治った。

brew doctor

の不要なディレクトリも消した。

とにかくまっさらに

余計なものを消す、入れ直す。

起動しているものも、再度いれなおす。

Webpack のbuild問題

エラー

% bin/webpack

[webpack-cli] Invalid configuration object. Webpack has been initialized using a configuration object that does not match the API schema.
 - configuration.node should be one of these:
   false | object { __dirname?, __filename?, global? }
   -> Include polyfills or mocks for various node stuff.
   Details:
    * configuration.node has an unknown property 'dgram'. These properties are valid:
      object { __dirname?, __filename?, global? }
      -> Options object for node compatibility features.
    * configuration.node has an unknown property 'fs'. These properties are valid:
      object { __dirname?, __filename?, global? }
      -> Options object for node compatibility features.
    * configuration.node has an unknown property 'net'. These properties are valid:
      object { __dirname?, __filename?, global? }
      -> Options object for node compatibility features.
    * configuration.node has an unknown property 'tls'. These properties are valid:
      object { __dirname?, __filename?, global? }
      -> Options object for node compatibility features.
    * configuration.node has an unknown property 'child_process'. These properties are valid:
      object { __dirname?, __filename?, global? }
      -> Options object for node compatibility features.

解決

/config/webpack/environment.js

に以下を追加

const { environment } = require('@rails/webpacker')

const customConfig = {
    resolve: {
      fallback: {
        dgram: false,
        fs: false,
        net: false,
        tls: false,
        child_process: false
      }
    }
  };
  
  environment.config.delete('node.dgram')
  environment.config.delete('node.fs')
  environment.config.delete('node.net')
  environment.config.delete('node.tls')
  environment.config.delete('node.child_process')
  
  environment.config.merge(customConfig);


module.exports = environment

参考URL

【Ruby on Rails】rails6とwebpack5で発生したエラーを解決するまでの長い道のり - TKGBlog

【解決】Your Yarn packages are out of date! Please run `yarn install` to update. #Rails - Qiita

MySQL5.7はいらない問題

new macにしたので、ローカルの問題解決。

(いまだに地獄のようなrubyを使ってます、一部のアプリ😇)

この辺りで直りました

162  bundle install
  163  openssl version
  164  brew install openssl
  165  gem install mysql2 -v '0.5.3'
  166  brew install mysql\n
  167  gem install mysql2 -v '0.5.3'\n
  168  gem install mysql2 -v '0.5.3'\n
  169  brew link --force openssl@1.1
  170  brew link --overwrite openssl@1.1
  171  echo 'export PATH="/opt/homebrew/opt/openssl@1.1/bin:$PATH"' >> ~/.zshrc
  172  brew info openssl@1.1
  173  bundle install

参考

An error occurred while installing mysql2 (0.5.3), M1 Mac