Rails
備忘録。 ダメなルーティングの臭い 名詞ではなく動詞が使われている resources/resourceよりもget/post/put/patch/deleteが使われている コントローラ内にscaffoldで生成される7つのアクション以外のアクション定義が多い resources/resourceのonlyオプショ…
ERBらしいですよ。変数名は reason と deadline ですって。
Rails for Biginners Vol.0 (ビギナー枠) にサポートエンジニアとして参加させてもらい、ついでに Rails 3 本ソムリエなトークをしました。Rails for Beginners Vol.0 (ビギナー枠) http://atnd.org/events/28948松本瞬さんによる初の試みでしたが、参加枠 1…
Railscasts という素晴らしいサイトがあります。最新のRailsの情報が学べます。時間も長過ぎず、Podcast 、多様なファイル形式(mp4/m4v/webm/ogv)、 iPhone アプリに文字起こし版のASCIIcasts といたせりつくせりです。最近は、改訂版の revised 、月額の …
2013年12月2日更新: 参照されることが多いので Rails 4 の情報を訳注として追記しました。また、Rails 4 に関する情報は、 WEB+DB PRESS Vol.73 が非常に参考になるので、一読をおすすめします。この文章は Mitch Crowe 氏のブログより 2012年4月14日の記事…
以下の文章は Targeter App Blog の記事を翻訳したものです。原文は 2012年5月12日 に書かれました。 Why we moved from NodeJS to RoR http://blog.targeterapp.com/post/22984987832/why-we-moved-from-nodejs-to-ror免責事項:この記事は NodeJS や Ruby …
以下の文章は、Mike Perham 氏のブログ記事を翻訳したものです。原文は2012年5月5日に公開されました。 Five Common Rails Mistakes http://www.mikeperham.com/2012/05/05/five-common-rails-mistakes/Railsをそれなりに仕事で使ってきて多くの Rails アプ…
以下はNick Sutterer氏が2010年10月28日に自身のブログに投稿した、"Rails Misapprehensions: CRUD is not REST! "の翻訳です。本人の許可を得て掲載します。 Rails Misapprehensions: CRUD is not REST! http://nicksda.apotomo.de/2010/10/rails-misappreh…
config/routes.rbが resources :hoges do resources :fugas end のようにネストしたresourceのとき、子となるfugaのみ作成/更新を行うフォームを書こうとして、少しハマったのでメモ。次のヘルパーメソッドでは、 new_hoge_fuga_path(@fuga.hoge, @fuga) edi…
Qiitaにメモしておいたんだけど、こちらにも書いておく。 http://qiita.com/items/812ビューテンプレート./app/tasks/index.html.erb から <% @tasks.each do |task| %> <%= render task %> <% end %> のようにして部分テンプレート./app/tasks/_task.html.e…
sugino-yasuhiro-no-MacBook-Air:point_blog suginoyasuhiro$ rake db:test:prepare rake aborted! undefined method `prerequisites' for nil:NilClass (See full trace by running task with --trace) StackOverflowにも挙っていたけど、対処方法がよくわ…
ものすごい小ネタ。結論からいうとタイポだったのだけど、 ActionView::Template::Error (undefined method `new_entry_path_path' for #<#<Class:... というエラーが出たので、'_path_path'ってなんだ?と思い、rake routesを見ても変なところないhelperに追加もしてないし、なんだろうなーと思っていたら、 <%= link_to '新規投稿', new_entry_path %> と書くべきところを、 <%= link_to '新規投稿', :new_entry_path %> とタイポしていた。エ…</class:...>
railsコマンドが急に起動しなくなった。 $ rails c /opt/local/lib/ruby1.9/gems/1.9.1/gems/thor-0.14.6/lib/thor/ base.rb:407:in `class_eval': No such file or directory - getcwd (Errno::ENOENT) from /opt/local/lib/ruby1.9/gems/1.9.1/gems/thor-0…
hoge_id = nil と書くはずが、 hoge_id = :nil とシンボルにしてしまっている箇所があり、これがinteger型のhoge_id属性としてDBに突っ込まれると、なんと、1になってしまうという。データ見たら全く関係のないid=1のレコードをJOINしていて驚きました。試し…
たいしたことではありませんが、Rails3.1でMigrationの記述方法が変わったからか、remove_columnメソッドの自動生成ができなくなっているようです。(本家サイトに別の方法があったりするのかもしれません。) 下のような書式でマイグレーションファイルを生…
Rails 3のActiveRecord(ActiveModelと言った方が正確なのでしょうか?)のvalidatesで整数のチェックをしようと、 class Foo < ActiveRecord::Base validates :bar, :numericality => { :only_integer => true } # 整数のみ end というふうに書いておき、ア…
Rails 3.0.4で複合一意制約を定義する方法は二通りあるようです。 1.ActiveRecordでモデルに一意制約を定義する 2.RDBMSで一意索引を作る 通常は両方実装するものと思われます。次のようなモデルで確認します。 class CreateMultiples < ActiveRecord::Migra…
モデルの名称にうっかりRubyのキーワードを使ってしまうとそのままでは動かなくなる場合があるので、注意です。 試しに、Aliasという名前の単純なモデルでscaffoldを作ってみます。 rails g scaffold alias name:string で、localhost:3000/aliases/にアクセ…