箱のプログラミング日記。

えんじにあ奮闘記

2019-06-01から1ヶ月間の記事一覧

enumの使い方【Rails】

enumとは railsの場合は標準機能としてモデルに記述することで使うことができる。 セレクトボックスから選ばせた値をDBに保存する時などに便利 わざわざDBにテーブルを作って保存しておくほどではない静的なデータも ユーザーに任意の値を入力させたり、いく…

カラムにreferencesの指定ができない【MySQL文法エラー】

カラムに外部キー制約をつけようとしたところうまくいかなかったので、 解決方法を残しておこうと思います。 実現したかったこと postテーブルを作成後、複数のカラムを追加 その際、外部キー制約を設定するカラムが含まれていたが、エラーになる テーブルは…

scssの便利な使い方【mixin】

scssでmixinを使用して関数定義する方法について だいぶリファクタリングができるようになってきたので記事にします。 scssとは 体感的にはcssのように書くことができる ネストさせて書いていくので、BEMの原則と相性が良い 例えば <div class="post-content"> <div class="post-content__title-box"> <h1>scssはとても便利です</h1> </div> </div>…

Railsの命名規則【単数形・複数形】

基本原則 コントローラー・・・複数形 モデル・・・単数形、先頭大文字 で作成すると言うのはおなじみ。 $ rails g controller users $ rails g model User 複数の単語を繋げたい場合 コントローラーの場合はアンダーバーで繋げる モデルは大文字で繋げる $ …

テキストを折り返し表示【CSS】

CSS

HTMLを書いていて、例えばpタグの中の文章を改行させたい場合 おはようございます。 今日の天気は雨です 明日は晴れです <p>おはようございます。</p> <p>今日の天気は雨です</p> <p>明日は晴れです</p> pタグはブロック要素なので、pタグで囲まれた要素は一行を占領する。 つまり…

prefixでidを複数持たせる方法【ルーティング】

今まで何となくしか理解できていなかったルーティングですが、 自分でアプリケーションを作るようになるとそういうわけにもいかず。 きちんと勉強しまくったところ、深いところまで知ることができたので きちんと残しておこうと思います。 固有のアクション…

carrierwaveで複数画像投稿【Rails】

レビューサイト作成にあたり画像の複数投稿を実装したので carrierwaveの使い方を買いておこうと思います。 ①gemをインストール gem 'carrierwave' gem 'mini_magick' $ bundle install 今回はmini_magickを使って画像の加工(リサイズなど)も実現したいの…

Mechanizeでスクレイピング【Rails】

Mechanizeというgemを使用してスクレイピング(外部サイトから情報を取得する)を行う手順を書いていきます。 ①Mechanizeをインストール gem 'mechanize' $ bundle install ②model配下にscraping.rbを作成 今回はスクレイピングで取ってきた要素をデータベー…

GitHubでリポジトリの作成とアプリケーションの開発

新しくアプリケーションを作る時に、同じく新しくGitHubのリポジトリを作ることになると思います。 おそらく慣れてしまえばブログに残すほどのことでも無いかもしれませんが、 現段階ではまだ数回しかリポジトリの作成をしておらず、今後流れが分からなくな…

jQueryのメソッド【引数】

jQueryの基礎を勉強したので、思考の整理のために残しておきます。 jQueryとは jQuery(ジェイクエリー)は、ウェブブラウザ用のJavaScriptコードをより容易に記述できるようにするために設計されたJavaScriptライブラリである。 (Wikipediaより) JavaScri…

link_toと仲良くなりたい

link_toに死ぬほど苦しめられた私。 仲良くなるためにきちんと向き合って勉強してみました。 link_toとは Railsのヘルパーの一つ。HTMLで言うaタグに当たる。 その名の通り、どこかにリンクを飛ばしたい時に使うことができる。 Railsでは、HTMLのタグを使う…

単体テスト、統合テストの違い

テストとは アプリケーションを開発環境から本番環境に移す前に、 それまで書いたコードが正常に動作するかどうかを確認する作業のこと。 ユーザー登録、投稿機能が備わっているアプリケーションとかって 自分で登録してみて動作確認をする、っていう事しか…