2014年5月29日のブックマーク (17件)

  • 3. バリデーション(3)

    2012/09/24 シナジーマーケティング(株) 寺岡 佑起 Model 3章 バリデーション 3.1. バリデーションとは 3.2. バリデーションの定義 3.3. バリデーションの実行タイミング 3.4. バリデーションエラーの確認 3.5. ビューへの表示 3.6. 組み込みのバリデーション 3.7. 共通のバリデーションオプション 3.8. 独自ロジックでのバリデーション 3.9. カスタムバリデータの作成 3.6. 組み込みのバリデーション Active Recordには文字数制限や数値文字の検証など、多くのシステムで必要とされるバリデーションがあらかじめ組み込まれています。 組み込みで利用できるバリデーションを紹介します。 presence 入力が必須であるフィールドに対して指定します。 bool型のフィールドを検証する場合は、後述のinclusionに[true, fals

    crist18
    crist18 2014/05/29
    Railsのvalidation.
  • NAMAKESUGI | [Rails]管理画面プラグイン ActiveAdmin その1(導入編)

    FlexやRuby on Railsなどで使い方とかを自分が後でわかるようにメモしておくブログ。最近はFlex系に飽きてます。 ActiveAdminとは 管理画面用プラグインです 面倒なViewを書いたり、検索ボックスを作ったりといった作業を省略できるように作成されています Githubはこちら デモサイトはこちら インストールとindexアクションのカスタマイズ  サイドバーのカスタマイズ・Filterのカスタマイズについての記事はこちらshowアクションのカスタマイズの記事はこちらカスタムアクションの記事はこちら ActiveAdminのインストールと初期設定 Gemfile 以下を追加します gem 'activeadmin' インストール rails g active_admin:install 今回はオプションを指定しないで進めていきます ※Deviseを使用していますので、使

    crist18
    crist18 2014/05/29
    i18n、
  • validates - リファレンス - - Railsドキュメント

    目次 文字列の長さをチェック(length) 正規表現パターンに一致しているか(format) 値が配列・範囲に含まれているか(inclusion) 値が配列・範囲に含まれていないか(exclusion) 2つのフィールドが等しいか(confirmation) チェックボックスのチェックが入っているか(acceptance) 数値の大小、型をチェック(numericality) 値が空でないか(presence) 値が一意であるか(uniqueness)

    crist18
    crist18 2014/05/29
    Railsのvalidation。
  • Asset bundleなどの、Unity3d基礎知識

    2015年09月25日 (金) に開催された「第34回 Unity 勉強会」での発表資料です。 Unity が提供する AssetBundle の機能を褒めたり Dis ったりする内容となっていますw AssetBundle をアプリとかに実装する話は含まれませんので、ご注意ください。

    Asset bundleなどの、Unity3d基礎知識
    crist18
    crist18 2014/05/29
    asset bundle [Unity]Unity、Asset Bundleとメモリ管理について。
  • Rails4のMass Assignment脆弱性対策のStrong Parametersについて

    Mac OSX10.8でrbenvを使ってRuby1.9とRails4.0をインストールするで ひょんなことから Rails4 をインストールしてしまった俺達は attr_accessibleやattr_protectedを使わずに Strong Parameters を使うことになってしまっていた! ActionController::StrongParameters rails/strong_parameters 初めての Rails で右も左も分からない状況で いきなり Strong Parameters と言われてもよくわからないので以下についてまとめます。 Mass Assignment とは Mass Assignment 脆弱性 Rails4 以前の Mass Assignment 脆弱性対策 Rails4 の Mass Assignment 脆弱性対策の Strong Pa

    crist18
    crist18 2014/05/29
    Strong Parametersまとめ。
  • Rails4のStrong Parametersの使い方まとめ [俺の備忘録]

    Google+ボタン はてなブックマークボタン 更新日時: 2014年02月26日(水) 作成日時: 2013年09月09日(月) 前の記事 / 次の記事 目次 そもそも何なのか? どうやって使うのか? 嵌まらないようにする(エラーをraiseさせる) 仮想属性でも定義が必要 参考 そもそも何なのか? 例えば次のようなカラムを持つArticleテーブル(記事テーブル)があって、 更新時には headline と content だけを更新して user_id は変更したくない場合。 (user_id は 記事の作成者を識別するidとして使う。) class CreateArticles < ActiveRecord::Migration def change create_table :articles do |t| t.integer :user_id t.string :headlin

    crist18
    crist18 2014/05/29
    Mass Assignment脆弱性を防ぐのがStrong Parameters.
  • Rails4.0に含まれる strong_parameters について - おもしろwebサービス開発日記

    注意 このエントリは急いで書いたので間違いが含まれている可能性が高いです。気づいた方はご指摘ください。 序文 strong_parameters とは、mass assignment で余計なパラメータをモデルの属性にセットさせないための新しい仕組みです。Rails 4.0 からはこれが標準になります。Rails2.x と 3.x はattr_accessibleやattr_protectedなどで似たような機能が提供されていましたが、これだと管理が煩雑になるケースがありました。 今年の3月くらいにGitHub が mass assignment の脆弱性を突かれたことで 、この問題をどうにかしようという流れが起き、最終的に strong_parameters が作られるという経緯を辿りました。 mass assignment とは Rails ではこんなコードをよく見ると思います。 de

    Rails4.0に含まれる strong_parameters について - おもしろwebサービス開発日記
    crist18
    crist18 2014/05/29
    “strong_parameters とは、mass assignment で余計なパラメータをモデルの属性にセットさせないための新しい仕組み”
  • マイグレーション(migration) | Railsドキュメント

    class CreateProducts < ActiveRecord::Migration[7.0] def change create_table :products do |t| t.string :name t.text :description t.timestamps end end end class CreateProducts < ActiveRecord::Migration[7.0] def up create_table :products do |t| t.string :name t.text :description t.timestamps end end def down drop_table :products end end カラムをバージョンアップ 説明 データベースのカラムをバージョンアップ upメソッドはロールバックできない処理をする際に主に使用

    マイグレーション(migration) | Railsドキュメント
    crist18
    crist18 2014/05/29
    “マイグレーションとは 直接SQLを使わずに、データベースのテーブルやカラムなどの構造を変更できる仕組み”
  • 実録!Railsのはまりポイント10選

    DBI (Dynamic Binary Instrumentation) の技術を活用してバッファーオーバーフローを検知する例を紹介します。

    実録!Railsのはまりポイント10選
    crist18
    crist18 2014/05/29
    lambdaの中身は都度評価される
  • ActiveRecord と実際のDBの型の対応を確認する - すがブロ

    rails console で確認できる 環境 Ruby 1.9.2 Rails 3.0.1 MySQL 5.1.44 確認方法 ActiveRecord::Base.connection.native_database_typesでアクセスすると確認できる。 実際にやってみる rails console して、上記で書いたプロパティを確認する。 ruby-1.9.2-head > pp ActiveRecord::Base.connection.native_database_types { :primary_key=>"int(11) DEFAULT NULL auto_increment PRIMARY KEY", :string=>{:name=>"varchar", :limit=>255}, :text=>{:name=>"text"}, :integer=>{:name=>"

    ActiveRecord と実際のDBの型の対応を確認する - すがブロ
    crist18
    crist18 2014/05/29
    “:boolean=>{:name=>"tinyint", :limit=>1}”
  • 新しいマイグレーションを追加してテーブルを変更 - Ruby on Rails入門

    モデルを作成することで自動的にテーブルを作成するためのマイグレーションスクリプトが作成されますが、作成したテーブルにカラムやインデックスを追加するといった変更についてもマイグレーション機能を使って行なうことができます。ここでは新しいマイグレーションスクリプトを作成してテーブルに変更を加える方法について解説します。 1.マイグレーションスクリプトの作成 2.カラムの追加と削除の場合 3.マイグレーションスクリプトの削除 4.マイグレーションスクリプトの実行 マイグレーションスクリプトの作成 マイグレーションを使ってテーブルに変更を行う場合、以前のマイグレーションスクリプトを修正するのではなく、変更を加える為の別のマイグレーションスクリプトを作成し実行します。 モデルを作成する時に自動で作成されるものではなく、新しくマイグレーションスクリプトを作成するには次のように実行します。 rails g

    crist18
    crist18 2014/05/29
    作成したテーブルにカラムやインデックスを追加するといった変更についてもマイグレーション機能を使って行なうことができる。
  • Ruby on Rails : migration 機能でデータベーススキーマを変更する - WebOS Goodies

    日は Ruby on Rails による Web アプリケーション作成の続きです。前回の記事では、Scaffold を使用して記事データ入力の基的なインターフェースを作成するところまでやりました。generate スクリプトを実行するだけでテーブルのリスト表示・項目作成・編集・削除のすべての操作が実装されるのは驚きでしたね。日は、前回手動で行ったテーブルの作成作業を Ruby on Rails に任せるための migration と呼ばれる方法をご紹介します。 migration は簡単に言うと Ruby スクリプトによってテーブルの作成やカラム構成の変更を行う機能です。Scaffold 主に導入時のサポートを目的とした機能でしたが、migration はデータベース構成の維持管理を主目的にしています。最大の特徴はテーブル・カラム構成(スキーマと言うんですかね)にリビジョン管理のよう

    crist18
    crist18 2014/05/29
    Rails migration機能でスキーマを変更。
  • Sublime Text 2の基本とカスタマイズ【Vim風】

    2012年12月4日:Vim化について指摘と参考になる情報をいただいたので追記しました。 こんにちは、僕はVimユーザーです(ちなみにVimを完璧に使いこなしているわけではありません)。 今更ながら「Sublime Text 2」というナウでヤングなエディタも使いこなせるようになりたいと思い、Sublime Textの基設定からプラグインやスニペットの作り方まで調べた内容をこの記事にまとめることにしました。 細かい情報までまとめることはできなかったので、より詳しい内容を紹介してくださっているブログやサイトへのリンクを設けています。 この情報以外にもSublime Text 2をVimに近づけるプラグインやカスタマイズ方法があればコメントいただけるとうれしいです。 また、間違いがあればコメントいただければすぐに直します。よろしくお願いします! Sublime Text 2は有料($59)の

    crist18
    crist18 2014/05/29
    sublime text2カスタマイズ。 sublime
  • VimからSublime Text 3に移行してみた - norinyang メガ進化!

    Sublime Text っていうのがいけているらしいという事で vim から移行してみた vim ライクな操作にするために色々やってなんとか違和感最小限で使えるようになったのでメモ まぁ、vim もちゃんと使いこなせていたかと言われるとかなり怪しいのですが。。。 まずはインストール 下記URLから使っているパソコンにあわせてダウンロード&インストール http://www.sublimetext.com/3 インストールできました。 パッケージコントローラーを入れる Sublime Text のいいところの一つとしてプラグインが簡単に入れられる事&充実している所だと思います! が、プラグインを入れるためにパッケージコントローラーを入れる必要があります 下記URLにバージョン毎に必要なコマンドが書かれているので、とりあえずコピーします https://sublime.wbond.net/i

    VimからSublime Text 3に移行してみた - norinyang メガ進化!
    crist18
    crist18 2014/05/29
    SublimeText
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    crist18
    crist18 2014/05/29
    git diff のオプション。
  • Markdown記法 チートシート

    Markdown記法のチートシートです。 記法はGitHub Flavored Markdownに準拠し、一部拡張しています。 Qiitaでシンタックスハイライト可能な言語一覧については、 シンタックスハイライト可能な言語 をご覧下さい。 Code - コードの挿入 Code blocks - コードブロック たとえば、「Ruby」で記述したコードをファイル名「qiita.rb」として投稿したいときは、 バッククオート(`) か チルダ(~) を使用して以下のように投稿するとシンタックスハイライトが適用されます。 コードブロック内でコードブロックを書きたい場合は異なる記号を使うことで書けます。

    Markdown記法 チートシート
    crist18
    crist18 2014/05/29
    Qiita Markdown。
  • Git revert | Atlassian Git Tutorial

    git revert は元に戻すコマンドの一種だと考えることもできます。ただし、通常の元に戻す操作とは異なる動作をします。プロジェクト履歴において、そのコミットがなかったことにするのではなく、そのコミットによって加えられた変更を打ち消し、その結果を含む新しいコミットを追加します。これは Git の履歴を保全するためであり、バージョン履歴の完全性の維持とコラボレーションの信頼性の確保のために重要です。 「revert (打消し)」は、プロジェクト履歴からコミットを打ち消す場合に使用します。これは、バグの追跡を行った結果あるひとつのコミットが原因であることが判明した場合などに有用なコマンドです。git revert を使用することにより、手作業で分析、修正し、その結果を新しいスナップショットとしてコミットするのではなく、それらすべてを自動的に行うことができます。 git revert コマンド

    crist18
    crist18 2014/05/29
    Git revertは変更ログを残してHEADを進める。