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.

【開発ログ⑦】Posticoにデータがない事件

Posted at

前提について

はじめまして、
プログラミングスクールに通ういりふねと申します。この記事は、スクールの課題である個人アプリの開発の記録を書くことで、自身のアウトプットに利用しています。もし、読んでいただけた方がいましたら、フィードバックをしていただけたら嬉しいです。

開発するのは「有給休暇管理ツール」です。仕様は過去記事をどうぞ。

アプリはデプロイまで行いますが、サービスとして提供するものではありません。あくまでも自学習の一環ですので、ご理解下さい。では本題へどうぞ。

今回実施する内容

前回までで、仮データを入れたビューが完成しました。今回は、支社の登録を行って、きちんとデータベースに反映されているかを確認します。

  • ルーティングの編集
  • 支社登録用のbranchコントローラーの作成
  • 支社登録を行うビューページを作成
  • メインページに支社登録へのリンクを作成
  • ローカルブラウザから支社登録の実施
  • データベースに保存されているか確認できればOK

Railsの設定は順調!!

ルーティングの編集、コントローラーの作成、ビューページ、メインページからのリンク付けなど、カリキュラムで学んだ内容なので順調に行えました。

routes.rb
Rails.application.routes.draw do
  devise_for :users
  root 'branches#index'
  resources :branches, only: [:new, :create] 
end
branches_controller.rb
class BranchesController < ApplicationController
  def index
    @branch = Branch.all
  end
  def new
    @branch = Branch.new
  end
  def create
    Branch.create(branch_params)
    redirect_to root_path
  end
  private
  def branch_params
    params.require(:branch).permit(:name).merge(user_id: current_user.id)
  end

end
new.html.haml
.branch__body
  新規支社登録
  .branch__body__form
    = form_for @branch do |f|
      .field
        .field-label
          = f.label "支社名"
        .field-input
          = f.text_field :name, autofocus: true
      .actions
        = f.submit "登録", class: 'btn'
_mainheader.html.haml
.main__header
  .nav
    .ragistation
      = link_to new_branch_path, class: "link" do
        支社登録
                〜以下省略〜

実際のビューページ

スクリーンショット 2020-05-12 18.19.12.png

ビューページも簡素ですが、表示されました。こちらは、メインのメージではないので、時間が空いたら、CSSを当てていきます。
さて、実際に登録すると、予想通りrootページに返ってきて一安心!!

データベースに保存されてない?

念のため、Postico(postgreSQLのクライアント)で、入力データを確認したら、なんとデータが空っぽ!!さっきまで順調にいっていたのに保存されてなかったの?
postgreSQLは、私にとって初めて使用するデータベースです。もちろん、Posticoも初めて。ローカルブラウザ上は、問題なく動いているので、postgreSQLの設定が正しいかしばらく格闘しました。
スクリーンショット 2020-05-12 18.25.19.png

原因は、Posticoの設定

上の画像で、「permission denied for table(テーブルの権限が拒否されました)」とあるので、ロールの作成ミスやデータベースの書込み権限の確認などを行っていましたが、結論はあっさりでした。
Posticoの接続設定でした。

まずは、ビフォー。Userに「postgres」を入力した状態です。以前、MySQLのSequelProを使用していたときは、ユーザー名に「root」を入れて接続していたので、同じように設定したつもりでした。結果は、上のとおりです。
スクリーンショット 2020-05-12 18.45.56.png

続いてアフター。Userを空欄に戻して、DatabaseにRailsでデータベースの生成を行った時のデータベース名「アプリケーション名_development」を入力したら、良かったようです。
スクリーンショット 2020-05-12 18.49.25.png

保存データを確認

上の設定で、接続すると更新したデータがきちんと反映されていることが確認できました。これにて一件落着です。
スクリーンショット 2020-05-12 18.51.42.png

今日の積み上げ

今回は、自分であれこれ触っていたら、うまくいったので参考記事はありません。これ以降、参考記事をメモ帳に貼り付けるようになりました。

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?