U-Yuri’s 健忘録

U-Yuri’s 備忘録

プログラミングを勉強しています。アウトプットに活用しているブログです。

2024-04-01から1ヶ月間の記事一覧

【Rails】よくやってしまうミス

==を=にしがち!!!!! if current_user.admin == true

【Rails】ステータスコードを返す(401を返したい)

renderメソッドのstatusというオプションを使用。 render status: 401 今回の実装 class AdminController < ApplicationController def admin if current_user.admin = true render "admin" else render file: "#{Rails.root}/public/404.html", status: 401…

【Rails】テーブルの追加(sqlite3)

はじめに 管理者画面を作成するために、Userテーブルにadminの列を追加したい。 テーブルの追加手順 変更するためのファイルを新しく作成し変更していく形になる。 1. $ rails g migration クラス名 カラム名:データ型でカラム追加や削除のためのファイルを…

【Rails】外部キー制約の参照制約 (SQLite3::ConstraintException: FOREIGN KEY constraint failed)

はじめに delete機能を実装したが、デリートしたいテーブルを参照しているテーブルに影響が出るため「SQLite3::ConstraintException: FOREIGN KEY constraint failed」というエラーが出た。 そのため、まずは参照しているテーブルを削除する必要がある。 そ…

【Rails】formについて(外部キーやらIDやら)

<h2>ポケモン</h2> <% @pokemons.each do |pokemon|%> <%= form_with method: :post, model: @deck do |form| %> <input type="hidden" name="pokemon_id" value="<%= pokemon.id%>"> <%= pokemon.name %> <%= form.submit "追加" %> <% end %> <% end %> IDをひとつづつDBに格納したい。 name=key value=値になる 一つのフォームにひと…

【nginx】nginxのコマンド

主に使用するコマンド 起動 $ sudo service nginx start 再起動 $ sudo service nginx restart 設定ファイル $ sudo vim /etc/nginx/nginx.conf

【Rails】Active Storageで投稿した画像が大きすぎるというエラー(nginx)

Railsでの設定か、nginxでの設定であるため、まずはnginxのエラーログを見る。 $ sudo less /var/log/nginx/error.log #最新のログを見たいので、shift + g で最新のログへ 2024/04/25 22:42:43 [error] 2878351#2878351: *2304 client intended to send too…

【Rails】デプロイ-ドメイン当て-

$ sudo vim /etc/nginx/nginx.confでserver_nameを変更する。 server{ server_name 〇〇.com; #ここにドメインを入れる。 proxy_set_header X-Forwarded-Host $host; location / { proxy_pass http://127.0.0.1:3500; } } SSL化については以下の記事参考。 ⑤…

【Rails】サーバーの自動起動の設定

/etc/systemd/system/に〇〇.serviceファイルを作成する。※〇〇はなんでもいい(アプリの名前)。 [Unit] Description=Mudazero App #アプリの説明 After=network.target #ネットワークの準備ができた後 [Service] Type=simple User=debian #自分のパソコン…

【Rails】デプロイ①(サーバー内に複数アプリがある場合)

①SSHでさくらVPSで繋げる $ ssh debian@〇〇vs.sakura.ne.jp ②rails側のcomfig/puma.rbを編集しポート番号変更。 #3000になっていたのを、3500に変更(3000は違うアプリで使用しているので)。 port ENV.fetch("PORT") { 3500 } ③上記変更をGithubにpush ④$ …

【Vim】vimのあれこれ(コマンド)

#横にナンバーが表示されるコマンド(エラーがあるときに便利) : set number #コピペしたいとき : set mouse =

SSHでさくらVPSに繋げる

% ssh debian@〇〇.vs.sakura.ne.jp debian@のユーザ名を忘れないように。

【Rails】formのIDを含むactionの作成

<%= form_with model: @deck do |form| %> <h2>ポケモン</h2> <% @pokemons.each do |pokemon|%> <input type="checkbox" name="" value=""><%= pokemon.name %> <% end %> <h2>エネルギー</h2> <% @energys.each do |energy|%> <input type="checkbox" name="" value=""><%= energy.name %> <% end %> <%= form.submit "登録" %> <% e…

【Rails】よくやるミス(undefined method 'each'for nill:NilClass)

インスタンス変数を定義した場所(順番)をしっかり見ること。 renderより前に記述していないか確認!!!!

【Rails】フォームの未入力を阻止

フォームが空で送信されるのを防ぐために、空項目ではフォームの送信ができないようにする方法。 required: trueを記述することで制約できる。 <div><%= form.label :商品名 %> <%= form.text_field :name, required: true %></div> 参考記事:RailsのSelectフォームで…

【Rails】日本語化したら通貨表示がおかしくなった

devise-i18n、rails-i18nを導入したところ、通貨表示が「¥30000」→「30000¥」になってしまった。 config/locals/ja.ymlで設定できる。 config/locals/の中にja.ymlを準備(rails-i18n/rails/locale/ja.yml at master · svenfuchs/rails-i18n · GitHubをコピ…

【Rails】ログイン画面を日本語化

ログイン画面を日本語化するまで gemをインストールする まずはgemをインストールする。Gemfileに以下を記述。 gem "devise-i18n" gem 'rails-i18n', '~> 7.0', '>= 7.0.8' #自分のrailsのバージョンを確認 rails-i18n | RubyGems.org | コミュニティのgemホ…