ノンカフェインであなたにやさしい

Rails,HTML,JavaScript,jQuery,PHP,CakePHPなど

ransackでのOR検索について[Rails gem]

ransackで以下の様なOR検索をしたくなったので調べてみました。 # (a AND b) OR c SELECT `tables`.* FROM `tables` WHERE (((`tables`.`hoge1` = 1 AND `tables`.`hoge2` IS NOT NULL) OR `tables`.`hoge1` = 2)) OR検索の記事で見つけたのが以下 ransack …

Railsのconfig/routes.rbでリダイレクトさせる(ステータスコードを指定する)

Railsのroutes.rbの中のルーティング設定でリダイレクトさせる方法です。 普通にリダイレクトさせる。 get '/hoge', to: redirect('/hogehoge') httpステータスコードを指定してリダイレクトさせる。 get '/hoge', to: redirect('/hogehoge', status: 301) U…

jQueryでinput[type=file]のファイル名を取得する

jQueryでinput[type=file]のファイル名を取得する $('#file').prop('files')[0].name;

JavaScriptで改行コードを<br>に置換する

JavaScriptで改行コードを<br>に置換する方法についてです。 textareaに入力されたテキストをHTMLに表示したい時があったのでその方法を JavaScriptで改行コードを<br>に置換する str.replace(/\r?\n/g, '<br>'); 正規表現で/\r?\n/gとすることで改行コードを取り出して<br>…

link_toにspanタグなどのDOM(HTML)を入れる[Rails]

link_toにspanを入れる方法 以下のようにブロック構文を使うことでlink_toにspanを含めることができます。 <%= link_to '/path' do %> <span>text</span> <% end %> これを書いた経緯と解決まで link_toにspanタグなどのDOMを入れたいことがありました。 link_toにspanを…

Rails4.1.1でdate_selectがエラーを吐いた話[undefined method `map' for "translation missing: ja.date.order":String]

date_selectを使おうとしたらエラーを吐いた話です。 バージョン ruby 2.1.2p95 Rails 4.1.1 エラー文 undefined method `map' for "translation missing: ja.date.order":String i18Nのja.date.orderが無えぞと こちらを参考にi18Nの設定 undefined method …

Railsでnil? empty? blank? present? を使う

Railsでnilやempty判定をしたい時に使うメソッド nil? Rubyの標準メソッド nilの場合だけtrueを返し、それ以外はfalseを返す。 nilはオブジェクトが存在していないということ name = "" name.nil? # nameは空だが存在するためfalse age.nil? # ageは存在しな…

NameError in Hoges#new : uninitialized constant Hoge

リレーションしたテーブルが認識されずエラーが出ていたのでなにかなと思ったらモデル名が間違えていました。 このエラー文だとHogeにHogeHogeをリレーションした場合です。 バージョン ruby 2.1.2p95 Rails 4.0.5 エラー文 ActionView::Template::Error (un…

Railsでlabelタグにクラスを追加する方法

バージョンは以下 ruby -> 2.1.2p95 Rails -> 4.0.5 以下のように記述することでlabelタグにクラスを追加できる <%= form_for(@user) do |f| %> <div class="field"> <%= f.label :name, {class: 'class_name'} %><br> <%= f.text_field :name %> </div> <div class="actions"> <%= f.submit %> </div> <% end %>

Railsチュートリアル3章でrails sしてコケた時の対処法

前回コケたところ(以下の記事)を乗り越えてrails sしたところまたもやコケたのでその対処法です。 Railsチュートリアルのnokogiriのインストールでコケた時の対処法 - ノンカフェインであなたにやさしい 発生したバージョン ruby 2.1.2p95 Rails 4.0.5 rails…

Railsチュートリアルのnokogiriのインストールでコケた時の対処法

Railsチュートリアルを進めていて3.1でnokogiriのインストールでコケたのでその対処法をまとめました。 発生したバージョン ruby 2.1.2p95 Rails 4.0.5 nokogiri 1.6.2.1 bundle updateの結果 bundle updateでの結果nokogiriのインストールでコケた $ bundle…

ファイルを送るときに使いたいサービス5選

Copyというクラウドストレージサービスが良さそうだったので、 紹介とともに他のサービスもまとめました。 Copy Doropboxより大容量なクラウドストレージサービスです。 基本容量は15GB 招待経由で登録すると+5GBで計20GBもの容量を最初から使えます。 Copy…

ターミナル画面のクリア方法 clearコマンド

clearコマンドでターミナルをクリア command+Lでも同様の動作をすることが出来ます。 実行例 クリア前 クリア後

ターミナルを開くとYou have mail.と表示される

ターミナルを開くと以下のようにYou have mail.と表示されました。 mailコマンドでメールを確認 hでメール一覧を表示 番号入力で該当メールの確認 d 番号でメールの削除 d 番号-番号で指定した番号から番号まで削除 d *で全件削除 qで終了

CakePHP 3.0.0 もくもく会(勉強会)#3 に参加してきました

コワーキングスペース茅場町 Co-Edoで開催されている CakePHP 3.0.0 もくもく会(勉強会) #3 - Co-Edo CakePHP | Doorkeeperに参加してきました。 目標 1.開発環境を作ろう 2.フォームを作成して単一モデルにデータを登録、表示、編集、削除してみよう 参考…

【Postfix】Mac OS XでPostfixを使ってGmail経由でメールを送る方法

ほぼ以下の記事を参考に設定できます。 OSX Lion で Postfixを有効にして Gmail経由でメール送信する設定(OSX Marvericks) | design-ya.blog僕の環境の場合 #sudo postfix check でエラーが出なかったため設定を追記すること無く以下の様に起動出来ました…

【JavaScript】デバッグをする際に使える22個のconsoleオブジェクトのメソッド

JavaScriptのデバッグをする際にconsole.logをよく使いますが他にも便利なメソッドがあります。 consoleオブジェクトの中身を確認すると以下のメソッドが定義されています。 assert clear count debug dir dirxml error group groupCollapsed groupEnd info …

【PHP】in_arrayを使い特定の値が配列に含まれているか調べる

PHP

in_arrayの使い方 PHP: in_array - Manual 簡単なサンプル 1つ目のifはtrue、2つ目はfalseになります。 true echo 'aaa'; } if (in_array("BBB", $haystack)) { // -> false echo 'BBB'; } ?> 多次元配列でも使えるようにする方法もあります。 [php]多次元…

【jQuery】プラグインを使わずにスムーススクロールを実装する

※jQuery.browserはjQuery1.9以降で使えないため修正しました。 jQuery(function(){ $('a[href^=#]').click(function() { var speed = 400;//スクロール速度(ミリ秒) var href = $(this).attr("href"); var target = $(href == "#" || href == "" ? 'html' …

【CakePHP】フィールドの値をインクリメントする

モデルに下記の関数を作ることで対応できる。 query("UPDATE " . $this->useTable . " SET " . $field_name. " = " . $field_name. " + 1 WHERE id=" . $id); } ?> またmodifiedも更新したい場合は下記のようにする。 query("…

【CakePHP1.3】1対多(hasMany)のアソシエーションを設定する

Userが複数のCommentを持っている array( 'className' => 'Comment', 'foreignKey' => 'user_id', 'conditions' => array('Comment.status' => '1'), 'order' => 'Comment.created DESC', 'limit' => '5', 'dependent' => true ) ); } ?…

【PHP】str_replaceを使って文字列を置換する

PHP

以下がサンプルコードです。 第一引数に配列を使えば複数の値を指定することもできます。

【jQuery】マウスオーバーで画像を変える

onMouseOver,onMouseOutを使って個別に指定する <img src="img_off.jpg" alt="" onMouseOver="this.src='img_on.jpg'" onMouseOut="this.src='img_off.jpg'"> これだと個別に指定しなければいけないので汎用的な形としては以下のようにします。 jQueryのhoverを使って変更する $(function(){ $("img").hover( function () { this.src = this.src.replace('_off', '_on…

Firefoxにおいてtable系でposition:relativeが効かない問題

Firefoxにおいてtable系でposition:relativeが効かない問題についてFirefoxのバグではなくその他ブラウザのrelativeが効いてしまうというバグらしいです。 問題の細かい話についてはこちらのブログを参照してください table系にはposition:relativeが効かな…

投稿記事のURLを表示するthe_permalink

WordPressで投稿記事のURLを表示するテンプレートタグ 下記のようにループ内で使用します。 <a href="<?php the_permalink(); ?>"></a>

MW WP Form 「自動返信メール」の項目について

WordPressでフォームを作る際に便利なMW WP Form 導入方法については公式の説明で分かるのですが 「自動返信メール設定」の「自動返信メール」に何を入力すればいいかわからなかったので。「自動返信メール設定」の「自動返信メール」には本文のフォームで入…

An Internal Error Has Occurred.の解決法【CakePHP】

CakePHPでテーブルを追加、既存のモデルにHABTMのリレーションを追加し本番環境にアップした時に下記エラーが出ました。An Internal Error Has OccurredDB,モデル関係のエラーらしい。 一時的な処理であればapp/config/core.phpのデバッグモードを一瞬だけ…

【CakePHP】モデルのリレーションを外す

hasOne,hasMany,belongsTo,hasAndBelongsToManyのリレーションを簡単に実装できるcakePHPのモデルですが一時的にリレーションデータが不要になった場合の外し方です。以下の様なモデルがあったとします。 //Masterが多数のSlaveを持つ Masterモデル hasMany …

javascriptでin_arrayを実現する方法

javascriptでin_arrayを実現する方法を2つご紹介します。1つ目はsomeメソッドを使った実装方法。2つ目はArray型にin_arrayメソッドを定義する方法。