タグ

Railsに関するyyamanoのブックマーク (344)

  • How to bind an jQuery onclick event with Coffeescript, in Rails?

  • [Rails] ActiveRecordオブジェクト保存時に「WARNING: Can't mass-assign protected attributes: type」 | CreativeStyle

    保存しようとしていたモデルには普通に「type」という属性を定義していたのですが、『「type」属性は保護されているので値を設定できませんよ』とのこと。保護した覚えはないのに。 どうしてだろうと不思議に思ったので調べてみると、どうやらこの「type」属性は、Railsの「単一テーブル継承(Single Table Inheritance)」という機能で使われる特殊な属性だそう。つまり予約語。 「単一テーブル継承」は、継承関係にある複数のモデルのデータを、一つのテーブルで管理するための機能。テーブルに保存されているデータがどのモデルに対応しているのかを管理するために、この「type」属性が使われます。 今回僕は、通常の属性として「type」属性を定義(つまりテーブルに「type」カラムを追加)していたのですが、単一テーブル継承が使う「type」属性とバッティングしちゃって例外が発生したみたい

  • Railsで、任意のJavaScriptやCSSだけを読み込む - Qiita

    こんな風になってるはず。 どのページでも共通に読み込みたい JavaScript が以下の二つだった場合。 app/assets/javascripts/hogehoge/fugafuga.js app/assets/javascripts/areare/korekore.js.erb //= require_tree . を削除してこんな風に修正します。

    Railsで、任意のJavaScriptやCSSだけを読み込む - Qiita
  • Rails4でFormオブジェクトを作る際に気をつける3つのポイント

    Railsで実際にFormオブジェクトを作ってみたらいくつか気をつけるポイントがあったので紹介します。 ActiveRecord / Rails / Ruby この記事はRuby on Rails Advent Calendar 2014の2日目です。 1日目は@miyukkiさんの「結局Ruby on RailsPHPってどっちが優れてるの?」でした。おつかれさまでした。 Formオブジェクトとは Formオブジェクトはその名の通り入力フォーム用のオブジェクトです。 フォームとモデルがうまく対応しているときはActiveRecordをそのまま使えば良いのですが、 複数モデルを作りたかったりモデルとは違うValidationを行いたかったりする場合にはFormオブジェクトを使うと便利です。 Formオブジェクトのサンプルコードはこんな感じになります。 class Blog::SiteFo

    Rails4でFormオブジェクトを作る際に気をつける3つのポイント
  • Bootstrap の File input の見た目を Cool にする - Qiita

    概要 Bootstrap を使うと見た目がかなりキレイになりますが、まだまだイケてない部分があります。 例えば、Forms の File input。 汚い!!!せっかくその他のボタン等は綺麗なのに、もったいないですね。 そこで、少しでも見た目が Cool になるように改善したい思います。 今回は Bootstrap File Input というライブラリを導入してみました。 そして、このライブラリを利用して、実際に CSV ファイルをアップロードするための form を作ってみたいと思います。 お断り 当は Bootstrap File Input を使うと、 例えば画像ファイルを選択した際にとても Cool なプレビューが表示されたりするのですが、 今回は CSV ファイルをアップロードするという用途に限定したいと思います。 気になる方は公式の デモ をご覧ください。 Bootstr

    Bootstrap の File input の見た目を Cool にする - Qiita
  • Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT

    平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識

    Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT
  • Rails でアプリ固有の設定情報や定数を定義する

    gem を使わずに Rails でアプリ固有の設定情報や定数をグローバルに定義するには、app/config/initializers ディレクトリ以下に、設定用のファイルを作成するのが一般的なようです。また、development, test, production など環境で使う値を変更する場合は、設定用の yaml ファイルを作成すると、ruby コード側で Rails.env.production? で判定してやる必要がなくなり楽ができます。 — 環境 — rails-4.0.1 例えば、外部ウェブサービスの Web API を利用する際に、development 環境と production 環境で API key を使い分ける場合など。 【追記 2014/07/11】 Rails4.1からデフォルトで config/secrets.yml というファイルが用意されており、アプリ

    Rails でアプリ固有の設定情報や定数を定義する
  • 株式会社万葉 Ruby on Rails Tips: 密結合な親子構造を作るには

    密結合な親子構造を作るには Railsでは通常、親子構造で双方向にリンクをはるには、has_many(またはhas_one)とbelongs_toを使います。しかし、このように作られた構造では、親のオブジェクトと、その子オブジェクトからたどった親オブジェクトは、オブジェクトとしては別物になります。 1回のリクエストの間に、親オブジェクトの子を取得し、かつ、子オブジェクトから親を取得するというケースはあまり多くありませんが、例えば、兄弟オブジェクトを辿って計算したいという場合は、このようなActiveRecordを素直に使った親子構造では、コストが大きくなってしまいます。つまり、親からある子を得るのに1回検索し、子から親を得るのに1回検索し、その親からまた子を得るのに1回検索します。これを兄弟を辿る回数繰り返すのはかなりの無駄になります。また、検索時にincludeオプションを使ってもうまく

  • よく忘れるRailsのコントローラーでのrenderメソッドのレシピ集 - Rails Webook

    Railsのコントローラーでのrenderメソッドの使い方について説明します。 renderメソッドは、「コントローラー(Controller)」と「ビュー(View)」のそれぞれにあります。 ここではコントローラーのrenderメソッドの使い方を示します。 ビューでのrenderメソッドの使い方は こちらを参照してください。 動作確認 Rails 4.1 目次 1. ビューを表示する 1.1. 暗黙的なビューの表示する 1.2. 他のアクションのビューを表示する(actionオプション) 1.3. 他のコントローラーのビューを表示する(templateオプション) 2. JSONを返す 2.1. renderメソッド 2.2. jbuilder 2.3. ActiveModelSerializer 3. ビュー以外を表示する 3.1. 文字列を表示する(textオプション) 3.2. X

    よく忘れるRailsのコントローラーでのrenderメソッドのレシピ集 - Rails Webook
  • Rails のフォームで配列形式のデータを扱う方法 - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 「今週の話題」を除くと、すごく久しぶりの投稿になってしまいました。いろいろあってなかなか時間が取れなかったのですが、やっと復活できそうです。ネタはだいぶ溜まっているので、頑張って書いていこうと思います。 さて、日ご紹介するのは Rails アプリケーションで配列構造のデータを扱うフォームに役立つ Tips です。 Rails は特殊な name 属性を指定するこ

  • Ruby on Rails: Submitting an array in a form

    I have a model that has an attribute that is an Array. What's the proper way for me to populate that attribute from a form submission? I know having a form input with a field whose name includes brackets creates a hash from the input. Should I just be taking that and stepping through it in the controller to massage it into an array? Example to make it less abstract: class Article serialize :links,

    Ruby on Rails: Submitting an array in a form
  • 早く知ってたら良かったrailsの技 - Qiita

    はじめに 自分が rails をさわり始めたときはバージョン1からバージョン2に変わるあたりだったのですが、バージョン2が出た年を振り返るとなんと2007年でした。 月日の流れが速い事に驚く中、早く知ってたら良かったのになぁって事をつらつらとまとめてみました。 最近 rails さわり始めてみたよ!って方の参考になれば良いなと思います。 今回は便利な gem とかではなく、素のrailsで出来ることを挙げています。 ちなみにバージョンは以下の環境です。 About your application's environment Ruby version 2.1.3-p242 (x86_64-darwin14.0) RubyGems version 2.2.2 Rack version 1.5 Rails version 4.1.8

    早く知ってたら良かったrailsの技 - Qiita
  • flashの使い方:Railsの基礎知識 - 久保清隆のブログ

    railsのflashについて、よく忘れるのでメモ。 ※ここで言うflashは、Macromedia Flashとは全く関係ない。Railsのセッションを利用した機能のflashについて。 flash とは? ログイン時のウェルカムメッセージや、項目追加の成功通知など、ユーザに簡単な通知を行いたい時に利用する。 コントローラでflashメッセージを設定し、ビューで表示する。 flashは全体で見ればHash。あるキーに対する値としてメッセージを設定する。キーは自由に設定できるが、デフォルトとしてalertとnoticeがある。 設定したメッセージは、sessionに保存される。つまり、flashは、sessionを利用した機能の1つ。 普通のセッション変数では破棄するまで値は保持されるが、flash の場合は一度表示されるとアクション終了時に自動的に消去される。 使い方 コントローラで定義

    flashの使い方:Railsの基礎知識 - 久保清隆のブログ
  • Rails でドメインロジックの実装方法まとめ - assertInstanceOf('Engineer', $a_suenami)

    このエントリは Ruby on Rails Advent Calendar 2014 の 7 日目のエントリです。 前日は seri_k さんの「Turbolinksさんと上手く付き合う10の方法」でした。 お詫び WIP です。公開期限に間に合わない可能性があるため、まだ途中ですが先に公開してしまいました。 サンプルコード等を後ほど追記する予定です。 → 12/08 18:10 追記しました。 Rails のファットモデル問題 Rails で構築したアプリケーションが大規模になり機能が増えていくにつれてモデルが大きくなり、そのうち手がつけられなくなる問題は古くから指摘されています。これについてはもはや詳細を述べるまでもないと思うので割愛しますが、この問題は 2014 年になった今でも多くの開発チームを悩ませていると感じています*1。 このエントリでは、普段 Rails を業務で使いながら

    Rails でドメインロジックの実装方法まとめ - assertInstanceOf('Engineer', $a_suenami)
  • Rails4 の Strong Parameters でリクエストパラメータを検証する | TECHSCORE BLOG | TECHSCORE BLOG

    こんにちは、鈴木です。 Rails4 の新機能である Strong Parameters を試してみました。 ※2013/10/03 TECHSCORE 体の記事になりました!「StrongParameters | TECHSCORE(テックスコア)」 Strong Parameters は個別の Gem ライブラリでしたが、Rails4 のコア機能として取り込まれました。 Strong Parameters を使用すると、ホワイトリスト形式でリクエストパラメータを検証することができます。 Rails3 では Mass-assignment (モデルの複数属性への一括代入)を防ぐために attr_accessible を使用していましたが、Rails4 からは Strong Parameters を用いて Mass-assignment に対応することができます。 Strong Para

  • Railsのモデルのバリデーションエラー errors や full_messages の使い方 - Rails Webook

    Railsのモデルのバリデーションエラーの扱い方について説明します。 errors(エラーメッセージオブジェクト)、独自のエラーメッセージの追加、エラーメッセージの表示、日語化について説明します。 動作確認 Rails 4.1 目次 モデル(model)のエラーメッセージ errors の使い方 モデル(model)にエラーメッセージを追加 ビューにモデルのバリデーションエラーを表示 モデルのバリデーションエラーメッセージを日語化 モデル(model)のエラーメッセージ errors の使い方Railsのモデル(model)でバリデーションエラーが発生した場合に、model の errorsにエラーメッセージが設定されます。さらに、full_messagesでバリデーションのエラーメッセージの配列を取得できます。 次のProductモデルが設定されている前提で話を進めます。 # app

    Railsのモデルのバリデーションエラー errors や full_messages の使い方 - Rails Webook
  • 4 ways to early return from a rails controller

    4 ways to early return from a rails controller … and check why 5600+ Rails engineers read also this 4 ways to early return from a rails controller When refactoring rails controllers you can stumble upon one gottcha. It’s hard to easily extract code into methods when it escapes flow from the controller method (usually after redirecting and sometimes after rendering). Here is an example: 1. redirect

    4 ways to early return from a rails controller
  • Railsのマイグレーションファイルを既存のスキーマ、データベースを元に作成|DIGITAL SQUADブログ

    Railsのマイグレーションファイルを既存のスキーマ、データベースを元に作成 開発中に増えすぎたマイグレーションを削除して、既存のスキーマあるいはデータベースから全てのテーブルを作成するクリーンなマイグレーションを作成する手順。 ■スキーマをデータベースに反映 schema.rbを正とする場合はschema.rbの内容をデータベースに反映しておく。 既存のデータベースを正としたい場合は行ってはいけない。rake db:schema:load ■既存のデータベースからスキーマファイルを生成 schema.rbの内容に関わらず、現在の開発用データベースのスキーマがschema.rbとして保存される。rake db:schema:dump ■マイグレーションファイルの作成 作成されたschema.rbの内容をマイグレーションファイルとして保存し、マイグレーションする。rails g migrat

    Railsのマイグレーションファイルを既存のスキーマ、データベースを元に作成|DIGITAL SQUADブログ
  • RailsでVirtual Attributes(仮想的な属性)をする - Rails Webook

    Virtual Attributesとは、モデルのDBに存在しない仮想的な属性のことです。 モデルにVirtual Attributesを追加することで、DBを変更しないでフォームを変更することができるようになります。 言葉ではいまいち分かりづらいので、次のような、「名前」の入力フィールドと「グループ」のセレクトボックスがある画面を、 Virtual Attributesを使って、DBのカラムを変更しないで、「名前」が「苗字」と「氏名」に分かれ、グループを追加する入力フィールドを追加できます。 Virtual Attributesの使いどころとして、DBをマイグレートするのが大変、その他なんらかの理由によりDBをいじれない場合に、モデルにVirtual Attributesを追加することでフォームの内容を変更することが可能です。 もちろん、バリデーションも行えます。 動作確認 Rails

    RailsでVirtual Attributes(仮想的な属性)をする - Rails Webook
  • Merging db/migration files