simesime

令和元年プログラムをはじめました。 アウトプットして精進します。

simesime

令和元年プログラムをはじめました。 アウトプットして精進します。

最近の記事

htmlに乱数が表示されてしまう。(メモリの番地)

今回はselectメソッドを使って、htmlにプルダウンメニューを表示させようとした時に出た事象について記載する。結果としては、変数の文字の型は悪かった。 htmlにわからない値が表示される下記の画面を見ていただけるとおり、訳がわからない値が表示されてしまう。 https://gyazo.com/774469a85bdb0708f730b090412ee9e7 これはインスタンス化した時やDBの値を参照した時に見える値だとわかる。 詳細は下記参考 >Category.all

    • 作成したmodelを削除する方法(rails)

      モデル名を間違えたりした時に、再作成したい時にmodelを削除するかと思う。よく使う技術なので、まとめるため記載する。 rails db:migrate:status基本的にモデルを削除するときは以下のコマンドで実行ができる rails destroy model モデル名 ただ注意としてモデルを削除するときは事前に以下のコマンドを実行して、状態を確認してから実行する。 rails db:migrate:status このコマンドを実行すると以下のような結果が表示される S

      • railsの命名規則

        railsでモデルやコントローラを作成する時や変数名の命名規則(基本的にはあるみたいです)について記載したいと思う。 コントローラコントローラを作成するときは以下で作成可能 rails g controller new 単一単語の時:page コントローラ名はpagesになる ※基本コントローラ名を作成するときは複数形にする 複数単語の場合:my page コントローラ名はmy_pagesもしくはmyPages 単語と単語の間に_もしくは修飾語の後の名詞の接頭語が大文字

        • ActionController::InvalidAuthenticityTokenのエラーが出る

          今回はセッション情報をなくすログアウト動作時に起きたエラーについて起きたことと対策について記載する。 発生状況ログアウト機能をつけるため、htmlに以下の文を記載し、動作確認を行ったところ今回の問題のActionController::InvalidAuthenticityTokenが発生した。 <%= link_to "ログアウト" ,logoutのURL ,method: :delete %> logoutのdeleteメソッドではsessionの値をからにするように

        htmlに乱数が表示されてしまう。(メモリの番地)

          作成したindex.htmlが表示されない

          今回はアプリケーションを作っている際にハマったことを記載する。 全てのページに表示させたいhtmlを以下のファイルに記載app/views/layouts/application.html.erb その後トップページとして以下のファイルに記載するのだが、表示がされない app/views/pages/index.html.erb ターミナル上を確認して見ると Processing by PagesController#index as HTML Rendering pag

          作成したindex.htmlが表示されない

          githubでダウンロードしたものをローカルで動かす方法

          何か調べてGithubに飛ばされることがあるかと思うが、それを実際に動かしてみたいと思うことがあるので、今回はどのようにやるかを紹介する Ruby/Ruby on Railsの確認(インストール/バージョンアップ/バージョンダウン)RubyやRailsのバージョンは、GitHubの「README.md」というプログラムの仕様を確認しバージョンがあっているかを確認する バージョン確認コマンド ruby -v rails -v リポジトリのファイルをクローン“clone(ク

          githubでダウンロードしたものをローカルで動かす方法

          作ったアプリケーションを世界に公開

          自ら作ったアプリケーションをインターネット上にアップロードする方法を今回は紹介する。 Herokuへのデプロイのやり方を書きたいと思う。 デプロイデプロイとは、アプリケーションを本稼働させること インターネットにつながっている人であれば、公開されたものを見れる事になる HerokuPaaS(Platform as a Service)と呼ばれるクラウドサービス PaaSはクラウドサービスで、インフラと開発環境がセットで用意されているサービスみたいなものですぐにアプリケーシ

          作ったアプリケーションを世界に公開

          リレーションデータベースのアソシエーション

          いくつもModelesを作っているが、各テーブルはアソシエーションという技術で関連付けを行うことができる。これにより、他のテーブルを呼び出すことで値を利用することができる。 アソシエーションbelongs_to、has_manyについて テーブル間リレーションシップをモデル上の関係として扱う仕組み 【アソシエーション = モデル間の関連付け】 models.comment.rb belongs_to :topic と記載することでcommentモデルは一つのcomment

          リレーションデータベースのアソシエーション

          いいね機能の作成

          久しぶりの投稿です。GWと風邪で寝込んでいたため、サボっていました。 これからまた再開したいと思います。 掲載した画像の投稿に各個人がコメントを記載できるような機能を作成する。 Modelsの関連付けいいね機能の実現には2つのテーブルからそれぞれ参照される。 ユーザーは複数のTopicに対して「いいね」ができ、Topicは複数のユーザーから「いいね」ができるため、UserテーブルとTopicテーブルの主キーをそれぞれ外部キーとして保存する。 favoriteモデルの作成 $

          いいね機能の作成

          写真投稿に制限を!!

          投稿できる写真のサイズと拡張子の制限をする。 機能制限をあらかじめする事で、データベースの整合性を整えるようにしておく。 画像のアップデート情報に制限をかける RMagickを利用できるようにする。RMagickは画像を保存する時にインストールすることで簡単に利用ができるため、ここで利用する。 brew install imagemagick@6 # Gemfile gem ‘rmagick' コンソールにて $ bundle install rmagickが利用でき、用

          写真投稿に制限を!!

          写真投稿機能の作成

          投稿する際に画像は最近ではどうじに送ることが標準となっているため、データベースに保存できる方法を記載する。 外部キーリレーショナルデータベースの主キー(プライマリキー)は、データを一意に特定するカラムのこと リレーショナルデータベースには、もう1つ「外部キー」というものがある 外部キーというのは、「他のテーブルの主キー」を保存するカラム 画像の扱い方画像はデータベースに画像を直接保存せず、参照先を保存しておく 画像は違うところに保存しておき、画像があるパスやURLの文字列

          写真投稿機能の作成

          ログイン機能の補足

          ログイン情報にはパスワードが保存されるので、それを保護するためのストロングパラメータについて記載する。 まだ、私もうまくつかいこなせてない。。。 SessionsControllerにストロングパラメーターを実装session_contoroller.rbを変更する 基本的にメソッドの機能は一機能にするため、ストロングパラメータ用にメソッドを作成する private def session_params params.require(:session).per

          ログイン機能の補足

          ログイン機能の実装

          いよいよツイッターやインスタで必須の技術のログイン機能について記載していく。 ログイン機能とはWebで使用されているHTTPは、ステートレスという特徴を持っている 「通信はすべて独立している」こと Cookieログインは、「Cookie」と呼ばれる技術で実現される Cookieはブラウザに保存されるテキストデータのことで、Webのあるページからあるページに移動した時にも破棄されないので、ユーザー固有の情報を保持する これにより、接続してから切断するまでの複数回の処理の間だ

          ログイン機能の実装

          validatesを増やす

          セキュリティの観点からユーザに入力できるところには、制限をかける必要がある。例えば、パスワードだと8文字以上英数字を含むやメールアドレスだと@が含まれているもの等がある。ここでは、基本的なところを作成してみる。 検証オブジェクト.match(”条件式”) で行える。 これで、自分が指定した条件がパターンに合致するかを確認することができる。 パスワードの文字数制限を追加するパスワードの文字数を8~32文字のみ validates :password, presence:

          validatesを増やす

          User登録の問題を解決

          ユーザ情報の登録にはデータベースの保存も重要だが、ユーザに入力してもらう情報なので、セキュリティと入力制限は必要である。そのため、ある程度の規則をもとに入力してもらうことが必要である。 nameとemailが空白でも登録できてしまう。ユーザーに必ず入力してもらいたい項目があるなら必須入力にしなくてはならないため、バリデーションという手法を用いる ・バリデーション フォームに入力されたデータが有効なものかどうかをチェックすることをバリデーションと言う Railsにはデータ保存

          User登録の問題を解決

          MVCの動作について

          コードを書いていく上で動きを理解しながら記載したいため、ここで改めて動作を確認していきたいと思う。 コントローラやViewの表示は記載していく上で必要な考え方である。 MVCの動作動作について詳しくみていく動作について詳しくみていく 流れとしては再度記載しておく 1. ブラウザからのリクエストをRailsサーバーが受け取り、Routesに送る 2. RoutesがURLとHTTPメソッドにマッチするコントローラーに処理を振り分ける 3. コントローラのアクション(処理)の中

          MVCの動作について