ActiveRecord モデルのインスタンスで前後のレコードを取得したかったのですけど、Rails 標準の API では見つかりませんでした。some_instance.previous, some_instance.next で、some_instance の前後レコードのインスタンスを取得できるようにしたかった。 — 環境 — rails 4.1 activerecord 4.1
システム開発部のKです。 先日ついにRails4.0がリリースされましたね。 自分はまだRails初心者なのですが、せっかくなら新しいバージョンで始めたほうがよいかと思い、betaの時からアプリを作り始めました。(かなり無謀ですが) その中で、Rails3のサンプルを基に組んだ部分が上手くいかなくて、かなりハマった箇所がありました。親モデルからhas_manyで関連付けたモデルのレコードをfields_forで一括登録しようとする処理です。 ソースは↓な感じ。 [controller] def new @order_info = OrderInfo.new end def create @order_info = OrderInfo.new(order_info_params) respond_to do |format| if @order_info.save format.html
Google+ボタン はてなブックマークボタン 更新日時: 2013年10月24日(木) 作成日時: 2013年02月06日(水) 前の記事 / 次の記事 Railsでモデルを保存する時に、 accepts_nested_attributes_for を使ってアソシエーション先のモデルも含めて一発で保存する。 目次 やりたいこと やること 付随する機能 参考ページ やりたいこと 例えば、次のようなモデルがあって、 class Book < ActiveRecord::Base attr_accessible :author_id, :title belongs_to :author end class Author < ActiveRecord::Base attr_accessible :name has_many :books end BookとAuthorを同時に保存したい時、こう書
追記:inverse_ofを使いましょう。 http://319ring.net/blog/archives/2724 以下、原文。 Railsやってていつもbelongs_toの項目の検証をどうするのかで迷っていたのですが、自分はこれが最適解なのかなーと思ったのがあったので書いておきます。 belongs_toのデータを必須にしたいのですが、:presence => trueだと必須というだけでちゃんとリレーション先に存在するidじゃない場合があるので信頼性にかけるので、どうするべきか?と悩んでいました。:inclusionでやるのがいいのかな?と思っていたのですが、どうにも重たそうだし、ほかに方法があるんじゃないのかなーと。 Web+DB Pressの70号で紹介されているのですが、Rails3.2以降ならば、modelでpluckというメソッドが使えるようになっています。これは、指定
7 Patterns to Refactor Fat ActiveRecord Models という記事があり、読もう読もうと思いつつ1年くらい経ってしまった。 ようやく読んだので理解した内容を書いておく。 コード例は元記事のもの。 Rails で thin controller, fat model を心がけていると、model がマジで激太りしてヤバくなる。 実際に自分が仕事で書いている rails アプリも激太りしててヤバい。 この blog の筆者が作っている CodeClimate で C 判定をもらう程度には肥満体型になっている。 Mixinに抜き出さない! Model が太ってきた時に考えるのは ActiveSupport::Concern を使って感心事を抜き出して、Mixin にすることだと思う。 実際に手元のアプリでも models/concerns/ なんていうディレ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く