注意: ここに記載されている作業は、アセットパイプラインを使用しない場合でもなければ通常は不要です。追記を参照ください。 わかってしまえば簡単だけど、ネットにほとんど見当たらなかったのでメモ。Rails 4.0 + Ruby 2.0環境。 Gemfileに以下を追加して bundle update と bundle install を実行。
![RailsにjQuery-uiを導入するときの注意 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/b7faca58f1f5be50030481f31faf79c65f5eb2d9/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9UmFpbHMlRTMlODElQUJqUXVlcnktdWklRTMlODIlOTIlRTUlQjAlOEUlRTUlODUlQTUlRTMlODElOTklRTMlODIlOEIlRTMlODElQTglRTMlODElOEQlRTMlODElQUUlRTYlQjMlQTglRTYlODQlOEYmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtY2xpcD1lbGxpcHNpcyZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWZiZjUzOGQzMGM1Zjc1YjBhZWIyMzgzYTkzODgwNTRi%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwaGFjaGk4ODMzJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1iN2IzM2U4MWNmOWEzNzdhNDliOWQ1NzA1YWNmNDA2Zg%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D0248edbead4366cc3e1cd6c842ac2658)
2014-04-04 railsのバリデーションについて Ruby On Rails validatesについて詳しく知らなかったので、調べなおしてみた。 文字数チェック 2文字より多くなければダメ validates :title, :length => { :minimum => 2, :too_short => "最低でも%{count}文字は入力して" } 12文字未満でなければダメ validates :title, :length => { :maximum => 12, :too_long => "最大文字数は%{count}文字!" } 2文字以上12文字以下でなければダメ validates :title, :length => { :in => 2..12 } 6文字でなければダメ validates :title, :length => { :is => 6, :wr
オブジェクトがDBに保存される前に、そのデータが正しいかどうかを検証する仕組みをバリデーションといいますが、 RailsでActiveRecordを使ってそれを実現するにあたってよく使いそうなのをまとめます。 以下のメソッドにおいてはバリデーションがトリガされます。 create create! save save! update update! 以下のメソッドにおいてはバリデーションはスキップされます。 decrement! decrement_counter increment! increment_counter toggle! touch update_all update_attribute update_column update_columns update_counters Railsでのバリデーショントリガ Railsではvalid?メソッドを実行するとバリデーションが実
みんなのウェディング 松久です。 みんなのウェディングでは、常にサービスを改善するために、新しい機能を加えたり、既存の機能を変更したりします。しかし、実際にその機能を公開してみると、想定していた数字の変化が起きなかったり、思わぬところに影響が発生したりすることもあります。 そこで、みんなのウェディングではプロトタイピングを行える仕組みを取り入れてサービス改善を進めるようにしました。 Motorhead プロトタイピングは、既存の機能を提供しつつも一部の機能を特定の人にだけ公開する仕組みです。このような仕組みを実現するために、Motorhead という Ruby の gem を利用しています。Motorhead の説明には下記のように書かれています。 Motorhead is a prototyping framework for Rails. It’s something akin to
3年ほどRailsを書いてきてある程度知見が溜まってきたので、忘れないためのメモとしてKPTと導入例を交えながらダラダラと書いています。 見出しの命名規則は クラス名/ディレクトリ名の単数形をupper camel caseにしたもの + KPT です。 Keepは今後も使うもの、Problemは開発規模によっては問題が発生する(した)もの、Tryは現在使用していないが使用したほうが良いと思っているものです。 これらすべてを導入すれば上手くいくというわけでもないので、開発規模に合わせて適切に採用していくと良いと思います。 DDDやデザインパターン等見聞きはしているものの詳しいわけではないので間違っている部分等あるとは思うのでその辺りはコメントでご指摘お願いします。 はてブコメント欄で頂いた指摘内容等についてはまとめの後でまとめて返答を記載しています。 Asset (Keep) app/as
Rubyのソースコードを読むとき、grepやctagsだけで読んでるとどこにどういう値が入るのか頭で考える必要があり大変。 そういう時、実際に動かしながらpryを使って中身を確認すると、どういう動きをしているのか楽に把握できる。 普通のエディタを使ってRubyを書いている人にとって、IDE的な機能を提供してくれるのがpryといえる。 本稿では、この記事を書く前の私のように、この次の「最低限の使い方」くらいしかpryを使いこなせていない人向けに、便利な機能をひと通り説明する。 最低限の使い方 まだpryを使ったことがない人はこれだけ知ってれば十分な気がする。 binding.pryで任意の場所からREPLを立ち上げる ソースの任意の箇所にbinding.pryを書いてRubyのプログラムを走らせると、実行中にその行でストップしてpryのREPLが立ち上がり、その環境での変数がどうなっているか
私たちの救世主DHH™は最近の Full Stack Radioのインタビュー で、 Basecamp の最新版で彼がどのようにRailsのコントローラを書いたかを説明しています。下記は、彼のすばらしい話を書き取ったものです。 これまでに思うようになってきたのは、「RESTの原則に従うには、どのタイミングで新たなコントローラを作るべきかを一度決めたら、ほぼ異例なくその原則を遵守するべきだ」ということです。いつだってその方がうまくいくんです。自分の作ったコントローラの状態を悔やむのは決まって、作ったコントローラの数が少なすぎた時です。多くの処理を任せようとしすぎてしまうんです。 そこでBasecamp 3では、ある程度理にかなったサブリソースがあれば、毎回コントローラを分割していきます。フィルタなどの場合ですね。例えば画面があって、それがある状態になっているとします。もしこれにいくつかのフィ
更新情報 2014/03/03: 初版公開 2020/11/20: Rails 6で確認および更新 こんにちは、hachi8833です。「Railsのルーティングを極める」の後編です。今回はRails 4.0.3 + Ruby 2.1.1の環境で動作確認しています。 Railsのルーティングを極める(前編) ⚓ Railsのルーティング(routes)を極める 2012/03(baba) ⚓ resourcesとネスト Railsのルーティング記法の基本は、複数形のresourcesメソッドと単数形のresourceメソッドです。また、Railsのルーティングにはネストを含む多くのオプションがあり、自由度が飛躍的に高まっています。 以下の2つのルーティングは、ネストしていないシンプルなresourcesルーティングです。prefecturesとarticlesは、いずれもコントローラに合わ
morimorihogeです。某新聞沙汰になったゲームと違ってゴ魔乙は当初からガチャの確立明示はしてたり、☆5の使い魔がインフレで相対的に弱くなったりしないあたり、割とCAVEは良心的だなと思いました(小並感 最近Railsの記事を書いていないことに気づいたので、ここ最近のRails受託開発案件の傾向について書いてみようと思います。Railsエンジニアを目指す人や、今後Rails案件を増やそうと思っている開発会社さんなんか向けの内容です。 弊社&僕の位置づけ 観測範囲が僕の周りだけなので、まずは僕自身が普段どのような環境でRails案件と関わっているのかを軽くまとめておきます。 弊社の規模感など 今年で9期目の開発会社です。Webシステム開発の事業は当初から続いていますが、5年前くらい?(Rails 3.0.0のリリースくらい)にPHP開発メイン -> Rails開発メインになりました。
(訳注: 2016/3/2、頂いたフィードバックをもとに記事を修正いたしました。) Ruby on Railsは最近、急激に注目を集めていますが、その原因はほとんど、この言語が斬新なテクノロジーとしてもてはやされたことと、タイミングにあります。技術的な優位性は時間の経過とともに失われますから、タイミングがよかっただけでは、一過性のブームに終わり、このムーブメントの隆盛は長続きしません。従って、「Railsがいかにして、適切な技術としての位置を維持し続けるるだけでなく、影響力とコミュニティを拡大し続けてきたのか」をより多くの人に説明していく必要があります。そして、その維持・拡大を可能にした/していく要因は、物議を醸すことさえあるRailsの基本原則にあると考えています。 この基本原則はここ10年ほどの間に進化を続けてきましたが、最も強固な柱となっているルールはやはり、公開当初から制定されてい
2/16に みんなのウェディング さんで開催された『Ginza.rb 第32回 thoughtbotの開発ツールたちと最近のgem事情』に参加しました! 世界中にオフィスがある受託系の会社『thoughtbot社さんのオープンソース』で公開されているツールをネタに話をしましたんでそのメモです。 🗻 フロントエンド Bourbon - A Lightweight Sass Tool Set Bourbon Neat Bitters - Predefined Styles for Bourbon Refills - Patterns フロントエンド系のツールをいくつか作っていて、組み合わせるとBootstrapっぽいことができるそう。 CSSフレームワークBourbon/Neat/Bitters/Refillsは美しい - Qiita 結構絶賛されていて、Qiitaで400ストック以上されて
(Last Updated On: 2018年10月7日)Railsで多用されているActiveRecordのインジェクションパターンを簡単に紹介します。出典はrails-sqli.orgなのでより詳しい解説はこちらで確認してください。特に気をつける必要があると思われる物のみをピックアップしました。 Exists?メソッド User.exists? params[:user] params[:user]などの使い方は危険です。RailsはPHPなどと同様にuser[]というパラメーターで配列化します。 ?user[]=1 が入力の場合、 SELECT 1 AS one FROM "users" WHERE (1) LIMIT 1 となり不正なクエリが実行されます。 Calculateメソッド CalculateメソッドはSQLの集約関数を実行するメソッドです。average、calcula
ここ3ヶ月ぐらい同じRails案件でリードエンジニアとして仕事をしています。 何気にマネジメント的なことをやるのが初めてだったので色々と戸惑うことがありましたが、だいぶ慣れてきて知見が溜まってきたので、自分のしごとの振り返りも兼ねてまとめておきます。 リードエンジニアのお仕事とは 会社やチームによって全くと言っていいぐらい異なると思いますが、私の場合は以下の様なことをしてきました。 開発スタート時 要件確認 仕様書を読んで全体像やどこから着手するかなどを考える Railsアプリのベース部分の実装 rails new DB周りの設定 初期モデルクラスをDB定義に基づいて作成 factoryも使いそうなものについてのみ作成 rspec、rails_config等諸々の設定 ローカル環境動作用のseedsを整備 使いたいGemを追加 共通で使うCoffeeScriptのライブラリを思いつく限り実
Railsアプリケーションのデバッグはどのように行っていますか? 愚直にプリントデバッグ? でも複雑なロジック内だと「このロジックのこの処理のここでピンポイントで止めたい!」という場合もありますよね。 そんなときに便利なのがpry-byebug. Githubのリンクは下記。 https://github.com/deivid-rodriguez/pry-byebug pry-byebugを使えばピンポイントで処理を止めてステップ実行が可能になります。 RequirementRuby2以上pry-byebugで使われているByebugはRuby2前提のデバッガーなので2以上が必要になってきます。 導入下記をGemfileに追加してbundle install. ユースケース例えばこんなコントローラーのロジックがあったとする。 class PostsController < Applicat
はじめに 先週の土曜日(2015/8/29)に西脇.rb&神戸.rbの合同勉強会として「Rubyistのための英語勉強会」を開催しました。 nishiwaki-koberb.doorkeeper.jp この勉強会はその名の通り、Rubyist(Rubyプログラマ)の英語に対する苦手意識を克服し、英語力を高めることを目的にした勉強会です。 いちおうRubyist向けとはなっていますが、大半の内容はRubyist以外の人にも役立つものだと思います。 そこで今回のエントリではこの勉強会の内容や発表された知見等を紹介します。 会場は阪神深江のNilquebe(ニルキューブ)さんでした 当日の流れ 当日はこんな感じのタイムスケジュールで進行しました。 13:00~13:30 自己紹介 13:30~13:45 語彙力診断テスト 13:45~14:15 「こういうときに英語ができなくて困る」「英語ができ
Herokuの欠点は、Tokyoリージョンがないため、ネットワークによる遅延が気になる と言われている。どの程度による遅延が気になっているのかは人によると思うが、Herokuを最大限に高速化させるために私がやっていることをまとめてみた。 これを実施すれば、Herokuが遅いとはあまり思わなくなると考えている。 Asset Sync を利用する [追記(重要)] Asset Syncを利用するのは公式で止めるよう勧告が出ている。CloudFrontを利用する方法が推奨されている。以下の内容は古いのでご注意を。 ーーーーーーーーーーーー Asset Syncは、Amazon S3に画像やCSS/JavaScriptを置き、各アセットのパスの向き先をそちらにかえてくれるgemだ。これを利用しないと、HTMLとかに置いた静的コンテンツが全てHerokuにアクセスしてしまうため、Herokuサーバー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く