タグ

Railsに関するy_rのブックマーク (28)

  • slim/README.jp.md at main · slim-template/slim

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    slim/README.jp.md at main · slim-template/slim
    y_r
    y_r 2017/08/29
    HTML テンプレート
  • Slim入門をして書き方を練習をしました - Qiita

    Slim入門ということで書き方の練習を始めました。この記事ではHTMLのViewをSlim形式に書き換える際のポイントを書いていきます。 Slimとは Ruby製のテンプレートエンジンです。HTMLタグを短く書くことができます。 ボクはRailsのビューを書くのに使っていますので、Railsでの使用を想定しています。 Railsへの導入 gemファイルにslimの読み込みを記述します。 あとはbundle installでslimがインストールされます。 slim-rails が入った後にrails generate コマンド経由でviewが生成された場合に、.erbのファイルではなく.slim拡張子のファイルが出力されます。 HTMLからSlimへの変換ツール HTMLからSlimへの変換は、変換ツールがあります。まだSlimに慣れていない場合は、ツールを使いながら練習するとわかりやすい

    Slim入門をして書き方を練習をしました - Qiita
    y_r
    y_r 2017/08/21
    erb にかわる view
  • [*Rails*] deviseの使い方(rails5版) - Qiita

    はじめに 2020/04/04 Rails6版はこちら [Rails] deviseの使い方(rails6版) Rails5で再検証版です。 以下のRails4のときのやつを現状(2016/11/12, 13)のバージョンで確認して、一部バージョン上がってうまく動かないところを修正したりした感じです。 [Rails] deviseの使い方(rails4版) 【前回】 rails : 4.2.0 ruby : 2.2.0 devise: 3.4.1 ↓ 【今回】 rails : 5.0.0.1 ruby : 2.3.1 devise: 4.2.0 あと、上の記事で最後に「全部まとめきれてないので、忘れないうちにちょっとずつ追加していこうと思います。」とか書いていながら全く追加することはなかったので、追加しようと思ってたものをちょっとだけ思い出して追加したバージョンです。 deviseとは ユ

    [*Rails*] deviseの使い方(rails5版) - Qiita
    y_r
    y_r 2017/08/21
    よくあるアカウント作成時のメールアドレス認証を可能にする gem。なぜ "devise" という名前がついているのかよくわからないが...
  • Rails Framework Documentation

    Ruby on Rails 7.1.3.4 RDOC_MAIN.md railties/RDOC_MAIN.md Last modified: 2024-06-04 18:21:34 +0000 Welcome to Rails What’s Rails? Rails is a web-application framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern. Understanding the MVC pattern is key to understanding Rails. MVC divides your application into three laye

  • INNER JOIN で eager loading - Qiita

    INNER JOIN じゃないと不味いが joins だと N + 1 問題が発生してしまう場合にどうするかを調べた。 結論から言うと joins + preload または joins + eager_load を使うと INNER JOIN を使って結合した上で関連オブジェクトも即時フェッチしてくれる。 試したのは Rails 4.1.6。 joins + preload INNER JOIN で結合 クエリ複数回(指定した関連オブジェクトの分) 即時フェッチ > Post.joins(:comments).preload(:comments) Post Load (0.3ms) SELECT "posts".* FROM "posts" INNER JOIN "comments" ON "comments"."post_id" = "posts"."id" Comment Load

    INNER JOIN で eager loading - Qiita
  • ActiveRecordのjoinsとpreloadとincludesとeager_loadの違い - Qiita

    ActiveRecordでN+1クエリを潰すためにeager loadingを行う場合、preloadやincludesやeager_loadが役に立つ。 Preload, Eagerload, Includes and Joinsという記事にそれらの違いがよくまとめられているんだけど、includesが挙動を変える条件があまり正確に書かれていなくて自信が持てなかったし、そもそも記事が古いのでRails4.1.5のソースを読んで調べた。 せっかく調べたので、全体を通して日語でまとめてみようと思う。 User.joins(:posts).where(posts: { id: 1 }) # SELECT `users`.* FROM `users` INNER JOIN `posts` ON `posts`.`user_id` = `users`.`id` WHERE `posts`.`id

    ActiveRecordのjoinsとpreloadとincludesとeager_loadの違い - Qiita
  • Optimizing Rails for Memory Usage Part 1: Before You Optimize | Collective Idea

    Optimizing Rails for Memory Usage Part 1: Before You Optimize This is part one in a four-part series on optimizing a potentially memory-heavy Rails action without resorting to pagination. The posts in the series are: Part 1: Before You Optimize Part 2: Tuning the GC Part 3: Pluck and Database Laziness Part 4: Lazy JSON Generation and Final Thoughts We recently built an API server for a mobile appl

    Optimizing Rails for Memory Usage Part 1: Before You Optimize | Collective Idea
    y_r
    y_r 2015/09/24
    巨大 JSON を返す API によってメモリ枯渇したときのチューニング
  • 最近の Rack サーバ事情について - おもしろwebサービス開発日記

    先月、heroku推しサーバが unicorn から puma に変わったという発表がありました。unicorn だとスロークライアントの影響を受けやすいというのが理由なようです。 もう少し詳しく調べてみましょう。 そもそもスロークライアントってなに その名の通り遅い回線のクライアントです。3G環境のモバイル端末などが該当します。 「unicorn だとスロークライアントの影響を受けやすい」とは unicorn はプロセスモデルのサーバであり、blocking I/O モデルを採用しています。つまり、クライアントとの通信中プロセスが専有されるということです。 例えば unicorn がワーカプロセスを3つ立ち上げていて、そこへ通信完了に10分かかるようなスロークライアントが3つ接続されたら…、続くクライアントはスロークライアントの通信が完了するまで実行を待たなければならなくなります。プ

    最近の Rack サーバ事情について - おもしろwebサービス開発日記
    y_r
    y_r 2015/08/17
    unicorn vs puma
  • アプリサーバー対決 パート1:主なRubyアプリケーションサーバーの機能比較 - Engine Yard Blog

    記事は英語版ブログで公開された記事の翻訳版です。 2013年7月に、米国テキサス州オースティンで開催されたLonestar Ruby Conferenceで、Rubyによるアプリケーションサーバーについてお話させていただきました。その中でいくつかのRubyアプリケーションサーバーのパフォーマンスや、さまざまな状況における挙動の違いを比較しました。この記事では、講演準備として行ったリサーチの中で分かったことをかいつまんでご紹介します。 実際のカンファレンスの録画をご覧になりたい方は、Confreaksで公開されていますのでそちらをご参照ください。テストに使用した簡単な自作アプリケーションはGitHubに、講演スライドはSlideshareにそれぞれ公開しています。 このリサーチは、Passenger 4のパフォーマンス評価以外すべて2013年7月に行ったものなので、情報が多少古くなっている

    アプリサーバー対決 パート1:主なRubyアプリケーションサーバーの機能比較 - Engine Yard Blog
  • ActiveSupport::Concern でハッピーなモジュールライフを送る | TECHSCORE BLOG | TECHSCORE BLOG

    こんにちは、鈴木です。 以前のエントリで「includeされた時にクラスメソッドとインスタンスメソッドを同時に追加する頻出パターン」をご紹介しました。 今回は、それに関する定形処理を肩代わりしてくれる ActiveSupport::Concern をご紹介します。 includeされた時にクラスメソッドとインスタンスメソッドを同時に追加するパターン Before 以前のエントリ(includeされた時にクラスメソッドとインスタンスメソッドを同時に追加する頻出パターン)でご紹介していますが、おさらいしましょう。 module M def self.included(base) base.extend(ClassMethods) end module ClassMethods def foo puts 'foo' end end def bar puts 'bar' end end

  • ActiveSupport::Concern と、Module#concerning - Qiita

    Rails 4.0 -> concerns ディレクトリ Mix-in 用のモジュールを置くディレクトリ concerns が定義された app/models/concerns app/controllers/concerns それぞれ、モデル、コントローラーの Mix-in 用のモジュールを置く 何が得なの? models や、controllersでしか使わない module は、concerns ディレクトリに置くというルールができた lib になんでも置いちゃう病が少し良くなる lib に色々置かれてて、何に使うコードなのかよくわからないのが色々あるという状況が少し良くなる もしくは、勝手に独自のディレクトリに置かれるということが無くなった

    ActiveSupport::Concern と、Module#concerning - Qiita
  • Active Record クエリインターフェイス - Railsガイド

    1 Active Recordクエリインターフェイスとは? 生のSQLを使ってデータベースのレコードを検索することに慣れた人がRailsに出会うと、Railsでは同じ操作をずっと洗練された方法で実現できることに気付くでしょう。Active Recordを使うことで、SQLを直に実行する必要はほぼなくなります。 Active Recordは、ユーザーに代わってデータベースにクエリを発行します。発行されるクエリは多くのデータベースシステム(MySQL、MariaDB、PostgreSQLSQLiteなど)と互換性があります。Active Recordを使えば、利用しているデータベースシステムの種類にかかわらず同じ記法を使えます。 ガイドのコード例では以下のモデルを使います。 class Book < ApplicationRecord belongs_to :supplier belong

    Active Record クエリインターフェイス - Railsガイド
  • Rubyのリフレクションプログラミングまとめ -- ぺけみさお

    Rubyは強力なリフレクション機能を持った言語であり、多様なリフレクション用メソッドが存在する。 このエントリではRubyでリフレクションプログラミングを行うためのメソッドを整理してみることにする。 オブジェクトに対する操作インスタンス変数に関連する操作インスタンス変数に対する操作には以下がある。

    y_r
    y_r 2015/02/17
    eval 類
  • 体育の日って高速に唱えるとテストの日に聴こえる - ✘╹◡╹✘

    テスト書きすぎ問題 - hitode909の日記 階層が増えるとテストが増える - はこべブログ ♨ テストと対応関係 - $shibayu36->blog; 最近書いているWebアプリは、HTTPリクエストを送ってレスポンスと状態をテストする、というテストだけ書くようにしてる。リクエストするとブログエントリを返す、というサービスだとこういう風なテストを書いてる。(HTMLを返すようにすると話が広がって説明が面倒なのでJSONを返すAPIで説明する) describe "Entry resource" do let(:params) do {} end let(:env) do { "HTTP_AUTHORIZATION" => "Bearer: #{access_token.token}" } end let(:access_token) do AccessToken.make(user

    体育の日って高速に唱えるとテストの日に聴こえる - ✘╹◡╹✘
    y_r
    y_r 2015/02/16
    rspec API + autodoc
  • RSpec Expectations 3.12 - RSpec Expectations - RSpec - Relish

    rspec-expectations is used to define expected outcomes. RSpec.describe Account do it "has a balance of zero when first created" do expect(Account.new.balance).to eq(Money.new(0)) end end Basic structure The basic structure of an rspec expectation is: expect(actual).to matcher(expected) expect(actual).not_to matcher(expected) Note: You can also use expect(..).to_not instead of expect(..).not_to. On

    y_r
    y_r 2015/02/10
    rspec のマッチャ
  • Better Specs { rspec guidelines with ruby }

    translations Documentation RSpec is a great tool in the behavior-driven development (BDD) process of writing human readable specifications that direct and validate the development of your application. On the web there are many resources that give complete overview of _what_ you can do with RSpec. But there are fewer resources devoted to how to create a great RSpec test suite. Better Specs tries to

  • RSpecの入門とその一歩先へ ~RSpec 3バージョン~ - Qiita

    はじめに 有名な初心者向けのRSpec入門記事として、和田卓人さん(@t_wada)の「RSpec の入門とその一歩先へ」という記事があります。 僕もRSpecを全く知らなかった頃に参考にさせてもらいました。 今読んでもとても素晴らしい資料なのですが、RSpecのバージョンが古く、現状の書き方とマッチしなくなってきているのが少しもったいないところです。 そこで、この記事では和田さんの記事をRSpec 3バージョンに書き直してみようと思います。 各イテレーション(RSpec 3バージョン)へのリンク 第1イテレーション(記事) 第2イテレーション 第3イテレーション ソースコードのURL https://github.com/JunichiIto/rspec3-for-beginners/tree/end_of_iter1 記事のライセンスについて 記事は クリエイティブ・コモンズ 表

    RSpecの入門とその一歩先へ ~RSpec 3バージョン~ - Qiita
  • 「開発現場でちゃんと使えるRails 4入門」関連の最新 ニュース・レビュー・解説 記事 まとめ - ITmedia Keywords

    エンタープライズ領域での採用も増えてきたRuby on Railsを使ってWebアプリケーションを作るための入門連載。最新版の4に対応しています。 開発現場でちゃんと使えるRails 4入門(12): Railsアプリの設計をMVCごとに見直しリファクタリングして連載総まとめ エンタープライズ領域での採用も増えてきたRuby on Railsを使ってWebアプリケーションを作るための入門連載。最新版の4に対応しています。今回は、サンプルプロジェクトをMVCごとにRailsアプリの設計を見直してリファクタリングすることで、これまでの連載のおさらいをします。(2015/1/8) 開発現場でちゃんと使えるRails 4入門(11): 「設定より規約」のRailsで必要なセッティングの基礎知識と国際化/多言語対応 エンタープライズ領域での採用も増えてきたRuby on Railsを使ってWebアプ

  • rails-style-guide/README-jaJA.md at master · satour/rails-style-guide

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    rails-style-guide/README-jaJA.md at master · satour/rails-style-guide
  • ActiveRecordのSQLインジェクションパターン

    (Last Updated On: 2018年10月7日)Railsで多用されているActiveRecordのインジェクションパターンを簡単に紹介します。出典はrails-sqli.orgなのでより詳しい解説はこちらで確認してください。特に気をつける必要があると思われる物のみをピックアップしました。 Exists?メソッド User.exists? params[:user] params[:user]などの使い方は危険です。RailsPHPなどと同様にuser[]というパラメーターで配列化します。 ?user[]=1 が入力の場合、 SELECT 1 AS one FROM "users" WHERE (1) LIMIT 1 となり不正なクエリが実行されます。 Calculateメソッド CalculateメソッドはSQLの集約関数を実行するメソッドです。average、calcula

    ActiveRecordのSQLインジェクションパターン