Google+ボタン はてなブックマークボタン 更新日時: 2014年07月14日(月) 作成日時: 2013年07月17日(水) 前の記事 / 次の記事 似たようなモデルを扱っているからまとめてみたい気がするんだけど、 単一テーブル継承(STI)だとうまくいかなくて、 かといってガチでモデルを継承するとかいう危なそうなことはやりたくなくて っていう時はポリモーフィックアソシエーションで上手くいくかも知れない。 参考ページ 【Rails】ActiveRecord:単一テーブル継承(sti)とポリモーフィック関連を未だにぱっと思い出せないのでまとめ。 [Rails] 実用ポリモーフィック関連(基礎編) 何が出来るのか? 参考ページで全て解決なんだけど、一応自分でもまとめ。 例えば、「日記」と「本」と「お店」があって、それぞれに日記の感想として、 本を読んだ感想として、お店に行った感想としてコ
class Comment < ActiveRecord::Base belongs_to :commentable, :polymorphic => true end class Article < ActiveRecord::Base has_many :comments, :as => :commentable end class Photo < ActiveRecord::Base has_many :comments, :as => :commentable #... end class Event < ActiveRecord::Base has_many :comments, :as => :commentable end # comments_controller def index @commentable = find_commentable @comments = @
Railsでは、ActiveRecordのhas_manyのasオプションとbelogns_toのpolymorphicオプションを使うことで、DBのポリモフィックのリレーションを簡単に実装することができます。 動作確認 Rails 4.1 ActiveRecord 4.1 目次 ポリモフィックリレーションとは ポリモフィックなテーブルの作成 モデルにhas_manyとbelongs_toを追加する 使えるようになるメソッド ポリモフィックの画面を作成 1. ポリモフィックリレーションとは説明のために次のER図を実装してみます。 記事(Article)とイベント(Event)にそれぞれコメント(Comment)を複数つけることができます。 記事用のコメントテーブル、イベント用のコメントテーブルとそれぞれ作ると、それぞれ同じような処理を記述しなければいけないため、コメントテーブルは参照先とな
はじめに Herokuでアプリを公開する際には、appname.heroku.comというHeroku URLで接続ができます。これをお名前.com等のレジストラで取得した好きなドメイン名で公開する方法について書きます。 私のブログをLokkaというブログアプリを使って、Heroku上で動作したときの設定をベースに手順をご紹介します。 お名前.comの設定 まず、hirotaka.meというドメインを取得します。お名前.comでドメインを取得すると、無料でレンタル[DNSレコード設定]というDNSサーバのサービスを利用できます。ここでは、この[DNSレコード設定]というサービスを使った設定をします。 また、設定するドメインは下記の通りになります。 Heroku URL: blog-hirotaka.heroku.com 設定する独自ドメイン: hirotaka.me, www.hirota
#やりたいこと 入力フォームに対して、ユーザーが1文字入力するごとに語句候補のドロップダウンリストを表示したい。 リストのアイテムをクリックしたら、それが値として入力される。 #環境 Ruby 2.2.1 Rails 4.2.3 jquery-rails jquery-ui-rails bootstrap 他 #手順 ###View 例えば、こんなテンプレートがあるとする。 = form_for(@moving) do |f| -#... .form-group = f.label :state_from, "* State", class: "h4" = f.text_field :state_from, class: "state form-control" -#... module MovingsHelper def us_states ["Alabama", "Alaska", "
はじめに railsを使ったウェブアプリケーションで、テキストフィールドにオートコンプリートをつけたいときに、rails4-autocompleteというgemを使うと便利。基本的な使い方はこちらの参考URLを参照。 このgemを使った際にオートコンプリートのフィールドの挙動をカスタマイズする方法を記録します。 環境 ruby 2.2.1 rails 4.2.3 前提 今回の実装例は、 外部キー「fuga_id」を持つ「hogeモデル」のフォームから オートコンプリートを使って「fugasテーブル」を細かい条件で検索し オートコンプリートが提案する文言も変更したうえでfuga_idをsubmitする場合 を想定。gemによって作られるアクションを下記のようにオーバーライドして実装すると柔軟に対応できる。 実装手順
Rails でオートコンプリート機能を実装する機会があり、jQuery UI Autocomplete を使って実現したので備忘録メモ。オートコンプリート機能とは、Google の検索窓でも表示されるような、入力済みの文字列を元に候補のメニューを表示して入力を補完してくれる機能です。Rails 用には jquery-ui-rails という gem があるので、それを利用させて頂きました。 Autocomplete | jQuery UI joliss/jquery-ui-rails Ajax による通信で、サーバーのDBテーブルからオートコンプリートの候補を取得して表示します。 — 環境 — Rails 4.1.6 jquery-ui-rails 5.0.5
今作ってる Web サイトでテキストフィールドにオートコンプリートをつけたいなーと思ったので調べたら gem があったので使ってみた。 peterwillcn/rails4-autocomplete jQuery UI のオートコンプリート機能を利用しているっぽい。 rails4 autocomplete を使う準備 自分の環境は ruby 2.1、rails は 4.1 を使用しています。 Gemfile に rails4-autocomplete を追加する gem 'rails4-autocomplete' jquery をいれてなかったら gem 'jquery-rails' もいれておく。 Gemfile 編集したら bundle install しよう。 JavaScript と CSS を読み込む app/assets/javascripts/application.js に
概要 みなさんこんにちはcandleです。pdfファイルのダウンロードのやり方を紹介します。 前提 railsの環境が出来ている twitterbootstrap gem を使用した環境で説明して行きます。twitterbootstrap gem事態はデザインのライブラリみたいなものなので、必ずしも入れる必要はありません。 サンプルscaffoldを用意する 早速、scaffoldを作ります。下のコマンドを実行しましょう。 今回はscaffoldの記事ではないので、細かく説明はしません。 rails g scaffold Myfile title:string filename:string comment:string マイグレーションファイルが作成されますので、それをデータベースに反映させます。 rake db:migrate scaffoldが完成しました。 twitterboots
2015-01-03 devise と omniauth 使って、オリジナルログイン・facebook ログイン・twitter ログインを実装する方法 ウェブ上にありふれた情報ですが、この 3 つのログインを併用する方法とハマりどころを記録します。 【devise】 まず、当たり前っすけど、Gemfile にコレかいて、bundle install gem 'devise' んで、devise のレールに乗って、ログイン機能は実装して下さい。 この辺の情報を参考に実装すれば、そんな難しくないです。Rails4 にて Devise でユーザー登録・ログイン認証・認可の機能を追加 | EasyRamble Railsの一番人気のログイン認証gemのDeviseの導入方法 - Rails Webook唯一、注意しないといけないのは、既に User モデルがあると、めんどくさいです。
Since version 1.2, Devise supports integration with OmniAuth. This wiki page will cover the basics to have this integration working using an OAuth provider as example. Since version 1.5, Devise supports OmniAuth 1.0 forward which will be the version covered by this tutorial. For usage with OmniAuth 2.0+, a couple extra steps are necessary for security reasons, and will be highlighted below. You ca
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く