タグ

2015年4月2日のブックマーク (8件)

  • Rails4で多対多のリレーションをモデルに実装する - Rails Webook

    Railsでは、ActiveRecordのhas_manyかhas_and_belongs_to_manyを使うことで、DBの「多対多」のテーブル間の関連をモデルに簡単に実装することができます。 ※has_manyとhas_and_belongs_to_manyの違い 多対多関係を作るには、中間テーブルを作成する必要があります。 has_manyの場合、中間テーブルを表現するクラスを作らないといけないが、その中間テーブルに属性やバリデーションなどを追加できます。 has_and_belongs_to_manyの場合、中間テーブルのクラスを作らなくて良いが、中間テーブルにカスタマイズができません。 個人的には、そこまで手間ではないので、has_manyで拡張性をもたせた方がよいと思います。 動作確認 Rails 4.1 ActiveRecord 4.1 目次 多対多関連とは マイグレーション

    Rails4で多対多のリレーションをモデルに実装する - Rails Webook
  • Rails3の:remote=>trueでファイルをAjax送信する - なにげにブログしてます

    :remote => trueってありますよね? 簡単にリンクやフォームをAjax化できるRailsの機能なんですが. 例えば,こんな風に使います.*1 = link_to "Ajaxなリンク", root_path, :remote => true このリンクをクリックすると,root_pathへのリクエストをAjaxで取得*2し,取得した内容を実行します. ですがこの:remote => trueは,ファイルのアップロードには対応してません. マルチパートなフォームで,:remote => trueをしてもAjaxな送信になってくれないのです. これを解決してくれるGemを見つけたので紹介します. Remotipart:https://github.com/JangoSteve/remotipart 使い方は,READMEと同じですが,まずGemをインストールするためGemfileに記

    Rails3の:remote=>trueでファイルをAjax送信する - なにげにブログしてます
  • library open-uri (Ruby 3.3 リファレンスマニュアル)

    [edit] 要約 http/ftp に簡単にアクセスするためのクラスです。 使用例 http/ftp の URL を、普通のファイルのように開けます。 require 'open-uri' URI.open("http://www.ruby-lang.org/") {|f| f.each_line {|line| p line} } 開いたファイルオブジェクトは StringIO もしくは Tempfile ですが OpenURI::Meta モジュールで拡張されていて、メタ情報を獲得するメソッドが使えます。 require 'open-uri' URI.open("http://www.ruby-lang.org/en") {|f| f.each_line {|line| p line} p f.base_uri # <URI::HTTP:0x40e6ef2 URL:http://ww

  • Error: `gem install pg -v '0.17.1' - hagetak's blog

    はじめに Rails4で実戦的なブログを作成(その1) - Qiita を元に、実践的なブログを作成してみる。 が... sudo bundle install で早速躓いて何も手を付けられない状態だった。 `gem install pg -v '0.17.1' An error occurred while installing pg (0.17.1), and Bundler cannot continue. Make sure that `gem install pg -v '0.17.1'` succeeds before bundling. このエラーが出た場合 postgresql をインストールする必要がある。 このインストール方法は2通りある。 apt-get でインストール brew でインストール 自分は前者で解決しようとして、 apt-get をインストール = >

    Error: `gem install pg -v '0.17.1' - hagetak's blog
    hidacchi
    hidacchi 2015/04/02
    bundle installで エラった時に参考になった記事
  • ActiveAdminノウハウまとめ - 波打際のブログさん

    はじめに 私が関わったプロジェクトでActiveAdminを使い倒す機会があったので、ドキュメントに掲載されていないことを中心に トラブル編 と 活用編 の2項目を備忘録程度にまとめてみました。 想定環境 Rails4 + ActiveAdmin(1.0.0.pre) トラブル編 Rails4でインストールできない!! 原因 Rails4に対応していない`meta_search`というgemが含まれていることが原因です。 対処法 RubyGemsにリリースされているActiveAdminのバージョンが古いため(0.6.3)、次期リリース予定の`1.0.0.pre`をgithubのリポジトリから取得するようにします。 (早く正式リリースしてほしいいけど、なんか大変そう→Release of version 1.0.0 · Issue #3213 · activeadmin/active_ad

    ActiveAdminノウハウまとめ - 波打際のブログさん
  • [rails]ActiveAdminとCanCanCanを使って管理画面に権限機能をつける

    Ruby2.1.2, Rails4.1.5で確認 ActiveAdminで作成した管理画面に、ログインユーザによってアクセスできる機能を出し分ける権限機能をつけたかったので調べてみました。 以前は「 cancan」と組み合わせることで権限管理を実現できたそうですが、cancanは開発が止まってしまったらしいので、Rails4対応の「 cancancan」を使ってみることにしました。 ログイン等の基的なActiveAdminの機能はすでに動作している想定で進めます。 1. Gemfileに追加gem 'activeadmin', github: 'activeadmin' gem 'cancancan', '~> 1.9' # 追加2. 権限管理用モデルを追加一つの管理者アカウントに複数の権限を割り当てられるようにするため、 「 ActiveAdminにCanCanを使った権限機能を追加す

    [rails]ActiveAdminとCanCanCanを使って管理画面に権限機能をつける
  • ActiveAdminを使用する場合はassetの汚染に注意 - yamotonalds's blog

    ActiveAdmin を使用すると簡単にデータの管理画面が作れますがデフォルトだとasset周りで問題が発生しやすいのでメモしておきます。 使用したバージョン rails 4.0.2 activeadmin 1.0.0.pre 発生した問題 管理画面以外の画面にもActiveAdminのcssが読み込まれ、ボタン等が管理画面と同じものになる 管理画面以外の画面にもActiveAdminが保持するjQueryが読み込まれ、jQuery Pluginが動作しなくなる どちらもActiveAdminを使用しないページにまでActiveAdminのassetが読み込まれてしまうのが原因です。 rails generate active_admin:install を実行した際にapp/assets/javascripts/active_admin.jsとapp/assets/stylesheet

    ActiveAdminを使用する場合はassetの汚染に注意 - yamotonalds's blog
  • rails管理画面系gem比較してみた - Qiita

    みなさん。railsで管理画面を作成するときはどうしているでしょうか? 正直な所、ログインや管理者のユーザー管理など、案件をまたいで共通の機能が多いので、便利なgemの力を借りる事が出来るなら、その方が楽ですよね railsには、管理画面系3大gemとして、次のものが挙げられます rails_admin active_admin Administrate これに含めて、最後にgemを使わないで自分で一から開発するという選択肢もあります。 デザインにこだわりだすと、既に雑にデザインとJSがあたっているものを改修して目的にものにするのは大変なので、これも悪い選択肢ではありません。 gemの力を借りるというのは、何かしらの人の決めつけに従うことで開発時間を買うことなので、その分の制約も一緒に買うものですから。 …だけれども、実際どれを選べばいいのか迷いますよね なので、どれから試していけばいいの

    rails管理画面系gem比較してみた - Qiita