![デプロイサーバで bundle install してから rsync で ruby アプリを撒く capistrano 拡張作った : sonots:blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/da78a05937633f7a2b4b2219826151c370cd607b/height=288;version=1;width=512/https%3A%2F%2Fparts.blog.livedoor.jp%2Fimg%2Fusr%2Fcmn%2Fogp_image%2Flivedoor.png)
accepts_nested_attributes_forを利用することで、newやcreateするときに子のデータもまとめて設定できるようになります。 # アンケート(親) # アンケートは質問(子)を複数持つ class Enquate < ActiveRecord::Base # attributes :id, :title, has_many :questions accepts_nested_attributes_for :questions end # 質問(子) class Question < ActiveRecord::Base # attributes :id, :content belongs_to :enquate end class EnquatesController < ApplicationController def new @enquate = Enqu
タグを付けてfacetsするところまで。コードは全く書きません。 便利でいいですね。 gem "searchkick" # full text search gem 'acts-as-taggable-on' # For tags インストール後migration実行 $ rake acts_as_taggable_on_engine:install:migrations $ rake db:migrate モデル定義 class Product < ActiveRecord::Base searchkick # For full text search powerd by elasticsearch. acts_as_taggable # Alias for acts_as_taggable_on :tags # for searchkick reindex data. # def se
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 #lib/ga_api.rb require 'google/api_client' class GaApi KEY_FILE = "#{Rails.root}/certificate/xxxxxxxxxxx.p12" ACCOUNT_EMAIL = "[email protected]" KEY_SECRET = "xxxxxxxxxxx" VIEW_ID = "xxxxxxxxxxx" VERSI
kaminariでTwitterライクな、もっと読む機能の実装方法 link_to_next_page()を使用する。 参考資料 strix01: [rails]kaminariで「もっと見る」を作る。 Twitter風なAjaxページネーションをKaminariで実現する - chulip.org これで、もし次のページが無ければNo more が表示される。 link_to_next_page()は次のページが無ければ何も返さない。 <li class=“morebutton”> <%= link_to_next_page,'more',remote:true do %> No more <% end %> </li> link_to_nex_page()にparameterを渡す。 <%= link_to_next_page(@note_list,'もっとみる',remote:tru
実践Ruby on Rails 4 現場のプロから学ぶ本格Webプログラミング 顧客管理システムの構築を体験しながら、Railsアプリケーション開発のノウハウを習得! この記事は、書籍『実践Ruby on Rails 4 現場のプロから学ぶ本格Webプログラミング』の内容を、Think IT向けに特別にオンラインで公開しているものです。詳しくは記事末尾の書籍紹介欄をご覧ください。 エグザンプル RSpecは「ビヘイビア駆動開発(Behavior Driven Development:BDD)」というプログラム開発手法をRubyで実践するために作られたテストフレームワークです。従来の開発手法との違いを強調するためか、RSpecは独特の用語を採用しています。その1つがエグザンプル(example)です。 さきほど作成したstring_spec.rbでexampleとendで囲まれた部分がありま
Elasticsearch / Ruby / Rails この記事ではレシピ検索をする場合を例に検索機能を追加します. 検索機能を追加するモデルを作る まずは基本となるRecipeモデルを作成します $ rails new search_recipe $ cd search_recipe $ bundle install $ bundle exec rails g model recipe title:string description:text url:string $ bundle exec rake db:create $ bundle exec rake db:migrate $ bundle exec rails console > Recipe.create(title: "ミックス赤玉で豚玉を作ってみた", description: "業務スーパーで買ったのは卵(ミックス赤
simple_nested_form_forでフォームを作成する 要素を追加する場合、 link_to_addで指定する。その際、data: { target: '#tasks' } を指定することで、idがtasksのところに追加されていく。 要素を削除する場合は、link_to_removeで削除することが可能。 <%= simple_nested_form_for @post do |m| %> <%= m.input :title, label: 'タイトル' %> <table id='tasks'> <%= m.simple_fields_for :steps do |s| %> <tr class='steps-field'> <td> <%= s.text_area :content' %> </td> <td> <%= s.link_to_remove '削除' %> <
fluent/fluentd-ui https://github.com/fluent/fluentd-ui Fluentd用のWeb UIが出たようです。試しに触ってみます。 インストール READMEのとおりですが、 $ gem install fluentd-ui $ fluentd-ui start Open http://localhost:9292/ by your browser default account is username="admin" and password="changeme" もしくは、 $ git clone https://github.com/treasure-data/fluentd-ui $ cd fluentd-ui $ bundle install $ bundle exec rails s です。 僕はbundlerでいれることにしました
上の画面は、あるRailsアプリケーションのユーザプロファイルのページです。ページの一番下に「Edit Profile(プロファイルを編集する)」のリンクがあり、このリンクをクリックすると詳細情報を編集できるページに切り替わります。 このような独立した編集ページを使う代わりに、ユーザがプロファイルページ上でフィールドをクリックしたら直接その場所で編集できるようにしたいと思います。クリックによってフィールドが編集可能に変わり、Enterキーを押すかTabでフィールドを移動したら変更をデータベースに保存します。 Best In Place アプリケーションにインライン編集機能を追加するためのRailsプラグインはいくつかあり、The Ruby Toolboxにそれらをまとめたリストがあります。いずれも一見の価値がありますが、今回はBest In Placeを使用します。Best In Plac
ほんとにありがたいポストがありました。助かりました。 内容間違ってbundle exec rake db:migrateをしてしまったのでそれを取り消す方法です。この記事は僕の理解を書きますが、詳細は参考リンクを見てください。 1 現在のバージョンを確認する $ rake db:version $ ls db/migrate これで、今どこにいるのか確認できる。 2 戻す $ rake db:rollback $ rake db:abort_if_pending_migrations ロールバックして未決のファイルを確認します。 3 再適用 修正して、 $ rake db:migrate でOK! 他に、バージョンを指定して戻すというのも使いそうです。 rake db:migrate VERSION=0 参考 rake db: migrate を rollback で元に戻す | dead
実践Ruby on Rails 4 現場のプロから学ぶ本格Webプログラミング 顧客管理システムの構築を体験しながら、Railsアプリケーション開発のノウハウを習得! この記事は、書籍『実践Ruby on Rails 4 現場のプロから学ぶ本格Webプログラミング』の内容を、Think IT向けに特別にオンラインで公開しているものです。詳しくは記事末尾の書籍紹介欄をご覧ください。 本記事では、テストフレームワークとしてRSpecを採用します。RSpecをうまく活用すると、簡潔で読みやすいテストコードを書くことができ、Railsアプリケーションの保守性を高めることができます。 しかし、RSpecの用語法や表記法はやや独特で、慣れるまでには時間がかかります。読者の中にはとまどいを覚える方がいらっしゃるかもしれませんが、次章以降を読み進めるうえでの鍵となりますので、是非じっくりと読んで理解してく
最近、実際に使っていて便利だと思ったものをまとめて紹介します! 他にも便利なものがいっぱいあって迷いましたが、とりあえず今回は7つに絞って紹介します! 【1】Better Errors Rails のエラー画面をわかりやすく Better Errors は標準のRails エラーページをさらに使いやすいエラーページに置き換えてくれます。 Rails の標準のエラー画面はこんな感じ↓ですが、 Gemfile に Better Errors を書き加えてインストールすると、 こんな感じ↓の画面に変えてくれます。 どこでエラーが起こっているのか表示してくれるので、エラーを見つけるのに役立ちます。 Rails のほかにも、Rack ミドルウェアとしての Rack app で使うのにも適しているそうです。 次の binding_of_caller とセットで使うととっても便利です。 【2】bindi
多対多の関連をレコード内の1つのカラムで表現したいことがあると思います。片方が少ない種類でほぼ決まっており、テーブルにするまでもないような場合です。 ALBUMS = {'Perfume〜Complete Best〜' => 1, 'GAME' => 2, 'Δ' => 3, 'JPN' => 4} ユーザーが好きなアルバムを選択できる (複数可) こんな入力フォームの実装についてまとめてみます。Railからはずれているのでめんどくさいです。 環境 Ruby 1.9.2p290 Rails 3.0.10 SimpleForm 1.5.2 擬似配列型カラム class User < ActiveRecord::Base serialize :fav_albums, Array end serializeクラスマクロを使います。第二引数にクラスを指定するとそれ以外を受け付けなくなります。MyS
はじめに ローディングアイコンを埋め込めるプラグインを探していて、まずはLaddaを試しました。 ボタンにローディングアイコンを埋め込んでくれるLaddaをRailsで使う http://qiita.com/knt45/items/9a7f31803ab7ac52116f ただ、LaddaはIE8非対応ということで利用を断念。見つけたのがSpin.jsでした。 Spin.jsとは ボタンにローディングアイコンを埋め込んでくれるプラグインです。 古いIEもサポートしてくれているのがとても助かります。 インストール手順 Gemがあるのでそれを使います。 Gemfileに以下を追加してbundle install
先日つけてみたソーシャルボタンですが、やっぱ数字が出るってモチベーションになっていいね。 意外とPocketも多いんだなぁ。 今回もまたRails。 投稿サイトとかでよくある、一時保存機能をやってみた。文章書いていると、何かの拍子で「あ!」てなることが多いから、あるとユーザーに優しい。 フォーム <div class="blog-form"> <%= form_for(@post) do |f| %> <%= f.text_field :tilte %> <%= f.text_area :body %> <!-- for temporal saving --> <div class="create-temp"></div> <%= f.submit "送信する" %> <% end %> </div>
Rails + iOSという組み合わせは割と多いと思うんだけど。いちいちサーバーとクライントの繋ぎ込みを自前で書くのはつらいなーと思って調べたら、NSRailsという便利なのがあったので試してみた。 https://github.com/dingbat/nsrails Railsのモデルと対になるものをiOS側で定義しておくとiOSのオブジェクトを操作するだけサーバにデータを永続化したり、データの取得ができる。ざっくりいうとparse.comと非常に使用感が似ている。 導入 導入はcocoapods経由で。Podfileにuse 'NSRails'とかくだけ。 pod 'NSRails' iOS側でRailsアプリの場所を指定するには、AppDelegateで以下のように指定するだけ。 - (BOOL)application:(UIApplication *)application did
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く