Rails:エラーページ(404, 500)をさくっと作る

さぼりすぎて記事の書き方も忘れてました。 最近会社を辞めた師匠と「未来の後輩のために書く」と約束をしたので、できるだけ頑張ることにします! それでは早速... エラーページを作る テンプレートなど特に使わないのであれば、viewはデフォルトで入ってい…

Objective-C:NSdate型の時刻からhourのみを取得する

5ヶ月ぐらいさぼっていた! Railsはちょくちょくやっているけど、最近objective-cも学んでいるので、思いついたら書いていきます。 今日は、Nsdate型の時刻からhourを取り出したいときに使える関数をメモ。 NSdate型の時刻からhourのみを取得する関数を作る …

jQuery: バブリング(return: false; e.preventDefault(); e.stopPropagation();)

・return: false; ・e.preventDefault(); ・e.stopPropagation(); 3つの違いについて気になってたのでメモ。 return: false; aタグのhref="#"を無効にするために、return false;を使うと、親(windowまですべて)へのバブリングを止めることができる。 e.pre…

Rails4:ActiveAdminを使って管理画面を作成する

1. Gemfileにactiveadminを追加する # Gemfile gem 'activeadmin', github: 'gregbell/active_admin' $ bundle install 2. active_adminをインストールする $ rails generate active_admin:install admin_users用とactive_admin_comments用の2つのマイグレー…

Sassのfor inを使って繰り返し処理を書く

地域別に背景色や画像を変えるというのをsassで書くことがあったので、メモ。 bodyにクラスを振って、条件分岐した。

JavaScript / jQuery:タッチイベントを取得する

jQueryではe.touches.lengthでは取得できないということにしばらく気付かなかった。

ムームーメールを使って、独自ドメインでメールアドレスを作成する

独自ドメインでメールアドレスを作成したいけど、Google Appsは高いし、一ヶ月あたり50円(税別)のムームーメールを使うことにした。 1. ムームーメールを契約する ムームードメインにログインして、ムームーメールを契約する。 2. メールアドレスを作成す…

JQuery:Ajax通信中にローディング画像を表示する

Ajax通信で画像を受け取るのに時間がかかるので、その間ローディング画像を表示させることになったのでメモ。 JQuery ajaxメソッドのbeforeSendとcompleteを使って、通信開始前にローディング画像を表示、通信完了時に非表示にする。 HTML CSS

HTML5: IE対応(新要素でCSSが効かない)

IE8以下では、HTML5で新しく追加された要素に認識しないので、CSSが効かない。 解決法: 「html5shiv」というスクリプトを読み込ませる。 1. ダウンロードする こちらから↓↓ html5shiv - HTML5 IE enabling script - Google Project Hosting Google Codeで公…

Rails:ActionMailerを使ってメールを送信する(その2)

コンソールからではなく、「アクションを叩いた時にメールが送信される」というのをやってみる。 コンソールからメールを送信するまでの方法は以下の記事に書きました↓↓ Rails:ActionMailerを使ってメールを送信する(その1) - Hello world, I am kgmx. 目…

Rails:ActionMailerを使ってメールを送信する(その1)

Gmailのsmtpサーバーを使ってメールを送信する。 1. config/environments/development.rbを編集する 2. Mailerクラスを生成する 今回はSendMailerクラスとconfirm_email_createdアクションを生成する。 $ rails g mailer send_mailer confirm_email_created …

Herokuアプリ:無料で独自ドメインをルートドメインにする

Herokuで公開されているIPアドレスを使ってAレコードを設定する方法が今は使えないようなので、別の方法を探していたとところ、Apex Aliasに対応したGEHIRN WEB SERVICEに行き着いた。 前提: ・既にドメインを取得している(今回はムームードメインで取得し…

JavaScript:フォーム送信後に完了メッセージのアラートを出す

フォーム送信が完了した時に「メールアドレスを更新しました。」とかの完了メッセージを表示する、というのを実装したので、メモ。 フォームボタンをクリックした際に、(バリデートにひっかからなければ)DOMを作って、setTimeoutでfadeInさせるという簡単…

Rails:アプリケーションをHerokuにデプロイする手順

前提:Herokuでアカウントを作成しているとする。 1. Herokuにログインする $ heroku login Enter your Heroku credentials. Email: youremail@gmail.com Password (typing will be hidden): Authentication successful. 2. 公開鍵を生成する herokuとSSH通…

Rails:PostgreSQLエラー( ;∀;)

パソコンを再起動して、サーバーを立ち上げ直し、localhost:3000にアクセスしたらエラーが出た。 PG::ConnectionBad: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain soc…

Rails:日時/時刻表示方法(設定)を変更する

Railsでは、Time::DATE_FORMATS というハッシュに時刻出力用のフォーマットがデフォルトで定義されているので、このハッシュに独自のフォーマットを追加する。 デフォルトは以下のように出力されます。 Time.now.to_s => 2014-08-27 08:35:20 +0900 1. time_…

Rails:pg gemをインストールできない

Herokuにアプリケーションをアップするために、DBをPostgreSQLに変えることに。 と思ったら、pgをインストールできなかった(´・Д・)」 ※DBの変更の仕方は以前のブログに書いてます。 RailsでSQLiteをやめてPostgreSQLを使う - Hello world, I am kgmx. #Gemfil…

Rails:文字列をカットして「...」で表示する(字数制限)

字数制限を設けて、その字数以上になる文字列はカットして、「hogehoge...」と表示したかったので、やってみた。 cssで横幅を指定してtext-overflow: ellipsis;を使ってやってもよかったけど、今回は字数制限ということにこだわりを... application_helper.r…

Rails:LEFT JOINしてソートする

Rails:includesしてソートする - Hello world, I am kgmx.では 「別のテーブル(comment)のnameというカラムの値で降順にソートする」というのができなかったけど、できた! やりたいこと:たくさんある本をコメントが多い順に上から並べる ■失敗 # Model.inc…

JavaScript:どのブラウザかをUserAgentで判定する

Androidはpositon:fixed;が効かないという問題に直面し、Androidかどうかを判別するコードを書いたのでメモ。 Androidかどうかがわかればよかったので、実際に使ったのは以下のコードです。 やったことは、「Androidでアクセスした時にbodyにandroidというク…

JavaScript:クロージャを意識したコードを書く

「ボタンをクリックした回数を数える」というのを実装したところ、クロージャの概念を教えてもらいました。 1. 書いたコード 2. 教えてもらったコード 100%はまだわかっていない...

Rails:includesしてソートする

〜順に並べ替えたいので、orderを使ってやってみようということになった。 bookとcommentは1:nの関係。 class Book < ActiveRecord::Base belongs_to :user has_many :comments end 一つのテーブル(book)内で降順にソートする # Model.order("column_name de…

Ajaxオブジェクトをすべてのブラウザで作成する

IE6以下とそれ意外のブラウザでXMLHttpRequest を使用出来るようにする為の宣言が異なるので、書き分けておく。 ajax.jsとし、HTMLで読み込んでおき、getXMLHttpRequest()関数を使用する。 var ajax = getXMLHttpRequest();

Rails4:CookieOverflowエラーを解決する

セッションに巨大なデータを格納しようとしたら、CookieOverflowエラーとなる。 今回はTwitterのauth認証の際に色々なデータ(4KB以上)を格納しようとしたからみたいです。 解決方法 セッションは使うけど、最小限のデータだけを格納する。 セッションデー…

Rails:Twitterの情報(nameやnickname)を取得する

providerとuidは保存できているけど、nameやnicknameが保存できていないと思っていたら、入っている階層が違ったのでした。 {"provider":"twitter", "uid":"xx4xxxx3", "info:{"nickname":"kgmx","name":"kgmxxxxx","location":"hogehoge","image":"http://p…

.Gitディレクトリを削除して、Gitでのリポジトリ管理をやめる

Gitで管理していたリポジトリを納品することになって、.gitディレクトリを削除しなければ!ということで調べてみたらあっさり解決した。 削除したいディレクトリまで移動して、 $ rm -rf .git Gitリポジトリの基本的な理解はGit の基本 - Git リポジトリの取…

Rails:project_idとuser_idをreferencesで定義して紐付ける

project(仮)とuser(仮)を紐付けたいとき、 rails g model Project name:string description:text user_id:integer と普通のカラムとして追加していたけど、 rails g model Project name:string description:text user_references とreferencesで定義する…

git-svnでSubversionからGitへ移行する

会社の人に教えてもらったので、試してみた。 svnってよくわからないわ... 1. SVN→Gitへレポジトリを変換する cloneする $ git svn clone -s --prefix=svn/ https://hogehoge.com/svn/yourapp もしくは init&fetchする git svn init -s --prefix=svn/ https:…

svn:コミットを取り消す

コミット後にやっぱり取り消したい時がある。 まずは最新版にアップデートする $ svn update リビジョン111まで戻したい! $ svn merge -r HEAD:12885 コミットする $ svn commit - m “リビジョン111まで戻す” 特定のファイルだけ戻したい場合 $ svn merge -…

python -m SimpleHTTPServerでローカルWebサーバーをたてる

server.pyというファイルを作成し、以下を記述してindex.htmlと同じ階層に置く。 Serving HTTP on 0.0.0.0 port 3000 ポート番号は好きなもので。 app配下で実行する。 $./server.py zsh: permission denied: ./server.py 拒否..された時は読み取りと実行許…