Kaigi on Rails STAY HOME Edition (https://kaigionrails.org/) Video: https://www.youtube.com/watch?v=fyvUDLJvpp8&feature=youtu.be
<% Article.where(status: 1).order(likes_count: :desc).limit(10).each do |article| %> <%= article.title %> <% end %> この例では「表示処理を行う」ことを責務としたビュー上で、データの呼び出しに関する複雑な処理が書かれています。 このような複雑な処理は、「データ処理を行う」ことを責務としたモデルに記載します。なぜかというとビューファイルに複雑な記述があると、コードの視認性が悪くなります。また、モデルに記述すると、様々なアクションで用いることができます。 また、モデルに定義した処理を行った上で、コントローラでインスタンス変数として定義します。 model class Article < ActiveRecord::Base scope :popular, -> { order(li
この記事は クラウドワークスアドベントカレンダー2019 12日目の記事です。 概要 こんにちは、怒り駆動リファクタリングを生業としている @MinoDriven です。 弊社リファクタリング専門チーム「バグハンター」で現在実施中のリファクタリング設計について紹介致します。 ドメイン駆動設計 を用い、Railsレガシーコードに対しViewとControllerを ActiveRecord非依存 に変更する設計です。 状況 弊社ブログの過去エントリにあるように、弊社サービスcrowdworks.jpはサービスインから8年経過し、 30万行 を超えるモノリシックRailsアプリになっています。 開発生産性が低下してきています 。 生産性低下の課題を解決しようにも、大規模な上に複雑かつ密結合な構造になっており、 マイクロサービスへの移行も、リプレイスも困難な制約 があります。 そこで半年前にリフ
require: - rubocop-rails inherit_from: - config/rubocop/rubocop.yml - config/rubocop/rails.yml - config/rubocop/rspec.yml AllCops: TargetRubyVersion: 2.6 Rails: Enabled: true # ActiveRecord で association を安易に delegate すると # N+1 を起こしまくるので、なるべく delegate 的なメソッドを使わずに # コストが掛かっていることを自覚できるようにしておきたい。 # メソッドでも危ういが、DSL だと更に意識から抜けるので無効に。 Rails/Delegate: Enabled: false # 意図せずに exit を書くこと無いでしょ? # 毎回 Exclude /
class CreateProducts < ActiveRecord::Migration[7.0] def change create_table :products do |t| t.string :name t.text :description t.timestamps end end end class CreateProducts < ActiveRecord::Migration[7.0] def up create_table :products do |t| t.string :name t.text :description t.timestamps end end def down drop_table :products end end カラムをバージョンアップ 説明 データベースのカラムをバージョンアップ upメソッドはロールバックできない処理をする際に主に使用
概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Rails 6: the missing developer setup guide - DEV Community 💻💻 原文公開日: 2019/11/19(最終更新: 2019/12/17) 著者: Vincent Voyer 日本語タイトルは内容に即したものにしました。画像はすべて元記事からの引用です。 原文の目次は省略しました。原文の乱れは訳文で修正してあります。以下のRailsガイドもどうぞ。 Webpacker の概要 - Railsガイド 更新履歴: 2019/11/28: 初版公開 2021/05/06: 更新 👋皆さんこんにちは。本記事では私がRubyやRuby on Railsを学んだ一環として、ドキュメントに書かれていないことを全部盛りしました。RubyやRailsのエコシステムは初めてなので、皆さまか
RejectKaigi 2017で発表した資料です。ActiveStorageの機能を紹介する過程で、ファイルアップロードを実装するのに必要な要件と選択肢について解説しています。
こんにちは。技術部 開発基盤グループの諸橋です。 クックパッドでは昨今の多くのWeb企業と同じように、GitHub EnterpriseのPull Requestを使ったコードレビューを広範に実施しています。わたしたちのコードレビューでは、ソースコードの字面にとどまらず、サービスの機能として魅力的かどうかや、保守性を含めた設計が適切かといった議論に発展することも良くあります。 きょうはそんななかで話題に上がった「現在時刻」の扱いかたに関する設計の話を書きます。 背景 サービスを開発・運営している我々には、時間帯によって出し分けたり、特定の期間のみに表示したいコンテンツがたくさんあります。 そのたびにデプロイし直すというのはつらいので(特に24:00に出なくなるコンテンツなど)なんとかしたくなりますが、一方で時限式のコンテンツはその時になるまでちゃんと動いているか確証が取れないので怖いです。
File Uploads with Refile | GoRails を見ての感想文です。 carrierwave の作者が作った後継 gem refile がなかなかよさそうな感じです。 S3へのブラウザからの直接アップロードのサポート サムネイルの動的生成サポート アップロード時じゃなくて、ブラウザからリクエスト来た時に生成 もちろん本番時はCDNなどと併用しないとダメです ファイルを選択したら即アップロードのサポート など、carrierwave にあったらいいなーと思っていた機能が盛り込まれています。あとは参考記事に書いてある文章を読む限りでは、ソースコードも見やすくなっているぽいですね(carrierwaveのソースコード追うのは結構辛かった記憶があります)。 次ファイルアップロード機能をつけるときには使ってみようと思います。 GoRails GoRails、スタート当初は ra
■ 楽天 TechTalk で Ruby と Rails の話をしてきた 楽天の河口さんから Ruby と Rails を使ってビジネスを回しているという話をしてくれという依頼がきたので、2日前の 12/10 に楽天オフィスまで言って何か話してきた。当日は遅刻してしまって申し訳ありませんでした...品川シーサイド難しい... 話の内容は、今年の RubyConf Taiwan と RailsPacific で話した内容を足して2で割ったような内容を1時間弱という感じ。 散々聞いた話だと思うけど 使い捨てじゃないプロジェクトやサービスで Rails 使うなら継続的にバージョンアップして技術的負債を返し続けるのが良い。一気にビッグジャンプしようとするととてもコストがかかるし、そもそも出来るかどうかわからない。 Rails 使うなら、Rails が良いとしているテクノロジーや方向性に積極的に乗っ
Architecting RESTful Rails 4 API 22 Oct 2013 This is a follow-up to my previous post about Authentication with Rails, Devise and AngularJS. This time we’ll focus more on some aspects of the API implementation. One thing to keep in mind, where my previous example used Rails 3.2, I’m using Rails 4 this time around. Versioning If you are building an API which could be potentially consumed by many dif
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く