読者です 読者をやめる 読者になる 読者になる

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

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

Ruby on Rails

Rubyで改行、空白を削除する

文字数を取得する時などに改行や空白文字を削除したい text = "春はあげぽよ てか、どんどん白くなる山の端らへんが異常に明るくなって、紫の雲が細く風に流されてるの見て、マジパねぇ、ウケる。 夏は神テン 満月がデラヤバなんてあえてウチの口から言うま…

content_tagで閉じがないhtmlタグ<br/>や<img/>を出力する?

<br /> を出力したくて content_tag(:br) とやったら <br></br> と出力されてしまった… content_tagじゃなくてtagを使うとのこと なるほどcontentがあるかないかの単純な話だったらしい tag知らなかった… 結果 無事brタグが出力されました tag(:br) ↓ <br />

Tagging a string as html safe may be a security risk

RuboCop(0.48.1) で Tagging a string as html safe may be a security risk と怒られた htmlタグを直書きせずにcontent_tagを使えということらしい↓ # bad "<p>#{text}</p>".html_safe # good content_tag(:p, text) # bad out = "" out << content_tag(:li, "one"…

RailsでHSTS includeSubDomainsを外す方法

Rails5からforce_sslを設定しているHSTSでサブドメインまで対象にされてしまうようで設定から外したい config/initializers/new_framework_defaults.rb に以下を追加でサブドメインを外すことができます Rails.application.config.ssl_options = { hsts: { s…

Rails コントローラーからヘルパーメソッドを呼ぶ [controller,helper]

Railsのコントローラーからヘルパーメソッドを呼びたい view_context を使う view_context.hogehoge ヘルパーをインクルードしたりしなくても使えるみたい

Rails GroupでまとめてCountした結果をHavingを使って絞り込む [ActiveRecord]

COUNT(*) した結果で絞り込む方法 Havingを使う Hoge.group(:user_id).having('count(*) > ?', 5).count

Railsでdevelopmentのエラー画面をproductionと同じにする

config/environments/development.rb ~~~ consider_all_requests_local = false ~~~ consider_all_requests_local を false にするだけ Configuring Rails Applications — Ruby on Rails Guides

constantizeした時にactive_support/inflector/methods.rb:268:in `const_get': uninitialized constant Hoge (NameError)と怒られる問題[Rails]

h = 'Hoge'.constantize h.create(fuga: 'fuga') した時に active_support/inflector/methods.rb:268:in `const_get': uninitialized constant Hoge (NameError) とHogeという定数、クラスがなかったため怒られてしまった。 safe_constantizeで回避 safe_con…

rake taskの中断はreturnではなくnextだった[Rails]

task :test do puts 'hoge' return puts 'moge' end 実行する rake aborted! LocalJumpError: unexpected return 怒られた… rake taskの中断はreturnじゃなくてnextとのこと task :test do puts 'hoge' next puts 'moge' end 以下の場合はreturnとのこと tas…

株式会社サックルに行ってきました

鬼丸さんにご招待していただき株式会社サックルにおじゃましてきました! 打ち合わせスペースなどめちゃくちゃオシャレ!! Pepper君がいる!!Pepperめっちゃ話に割り込んでくる!! (残念ながら写真撮ってないのでWantedlyでご確認くださいまし…) お伺い…

RailsのTimeクラスChangeメソッドについて

TimeクラスChangeメソッドの挙動について まずは年月日を変更してみる。 Time.new(2016, 3, 15, 10, 10, 10).change(year: 2015) # => 2015-03-15 10:10:10 +0000 Time.new(2016, 3, 15, 10, 10, 10).change(month: 1) # => 2016-01-15 10:10:10 +0000 Time.…

Railsで現在のURLを取得、現在のpathを取得

Railsで現在のURLを取得 # http://hoge.com/aa/bb?c=d にアクセスした場合 request.url # 'http://hoge.com/aa/bb?c=d' Railsで現在の pathを取得 # http://hoge.com/aa/bb?c=d にアクセスした場合 request.fullpath # '/aa/bb?c=d' request.path_info # ク…

Railsのリファクタリングに使える情報、気をつけたいことまとめ

Railsで開発する際に気をつけたいことや、リファクタリングに使える記事です。 覚えておきたい、リファクタリングの際に都度つど読み直したい記事がいくつかあったのでまとめます。 qiita.com qiita.com qiita.com qiita.com

CompassでCSSスプライトを簡単につくる[Rails, Compass, CSS Sprite]

Compassを使ってCSSスプライトを作る手順です。 以下の記事を参考にさせていただきました。 CSS3 - Rails + Compass でCSSの開発を高速化! - Qiita まず、CSS Spriteでまとめたい画像をimagesの中に保存します。 あとはSCSSを下記のように。 @import "icons…

Railsでcompass 1.0.1を使う(sass 3.4.9)

Railsでcompass 1.0.1を使おうとした時に依存関係でコケたのでメモです。 その時のエラー文 ActionView::Template::Error (wrong number of arguments (2 for 1) バージョン指定なしでインストールした場合 gem 'sass-rails' gem 'compass-rails' Gemfile.lo…

collection_selectにclassやidなどのhtmlオプションを指定する[Rails]

Railsのcollection_selectにclassやidなどのhtmlオプションを指定する方法 // メソッドの定義 collection_select(object, method, collection, value_method, text_method, options = {}, html_options = {}) // 実際の使い方 collection_select(:user, :tit…

Railsのwhereで日付を条件に指定する

Model.where(created_at: Time.new(2014, 10, 10).all_day) 生成されるSQL SELECT * FROM `models` WHERE (`models`.`created_at` BETWEEN '2014-10-10 00:00:00' AND '2014-10-10 23:59:59') all_day all_day を使うことで該当する日をまるごと範囲指定でき…

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…

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…