はじめに データの並び順を自由自在に入れ替えたい、という要求があったとき、ドラッグアンドドロップで順番が変えられるとなかなか便利です。 そこで本記事ではドラッグアンドドロップによる表示順変更機能をRails 4で実装する手順を説明します。 補足資料 理解しやすくするための補足資料をいろいろ用意してみました。 デモサイト Herokuにデモサイトを作ってみました。 元々のサンプルアプリケーションはCRUDができるようになっていますが、このデモサイトではデータの更新はできません。(変更できるのは順番のみ) ドラッグアンドドロップするとどうなるか、実際に動かしてみてください。 サンプルアプリケーションを作る過程を録画してみました。 フルスクラッチでrails newするところから始めています。 http://www.youtube.com/watch?v=YQ-6HkBhVyc&feature=
Introduction 例えばTodoリストアプリなどを作ろうとすると、リストのアイテムを順番通りに整列させて、ドラッグ&ドロップで並び替えて、その順番を保存したい場面があると思います。 jQuery UIのsortableを利用している記事が多かったのですが、モバイルでも利用する前提だと他のjsも使わなくてはいけなかったりと面倒だったのですが、Sortable.jsというライブラリを利用すればモバイルにも対応してくれていたので「Sortable.js」+「acts_as_list」を使ってドラッグ&ドロップで並び替えできるリストを実装してみました。 0. Sample Model とても単純なrelationshipを持ったParentとChildモデルがあるとします。 Parentは0個以上のChildを持ち(has_many)、Childは1つのParentを持ちます(belong
株式会社TECH LUCKという会社で代表兼エンジニアをしている齊藤です。 Railsで外部キーのカラムを追加する際に、reference型を使うことがあると思います。 reference型の使い方に関しては以下のように様々な記事があります。 外部キーをreferences型カラムで保存する Rails4 外部キーをテーブルに設定するための、3通りのマイグレーションの書き方。 しかし、reference型で作成する時はadd_index: true必要なの?foreign_key必要なの? と混乱してしまうので、備忘録のためにまとめておきます。 前提 アプリケーションとしてはTwitterの簡易版で、登録しているユーザーがツイートができるアプリケーションです。 テーブル構造としては user : tweet = 1 : N の関係になっています。 テーブル名はそれぞれ、usersとtwee
社内で利用した、Reactの研修資料を公開します。 Railsチュートリアルの続編として作成したので、Rails上でReactを使うためには...ということが書かれています。Railsチュートリアルテイストになっていますが、一部社内でのコーディング規約や利用するライブラリについての言及があります。 また、研修ということで、ソースコードはGitHubの差分をスクショするという形で掲載しています。コピペできるコードが欲しいという人は、差分表示を作るのに使ったリポジトリを利用して下さい。 https://github.com/kouheiszk/sample_apps/tree/master/5_1_2/ch15 第15章 Reactの導入 この章では、サンプルアプリケーションで作ってきたUIパーツをReactというJavaScriptのライブラリを利用してコンポーネント化していきます。具体的に
本ガイドでは、Railsの「エンジン」について解説します。Railsエンジンのきわめて簡潔で使いやすいインターフェイスを用いて、ホストとなるRailsアプリケーションに機能を追加する方法についても解説します。 このガイドの内容: エンジンの役割 エンジンの生成方法 エンジンのビルド方法 エンジンをアプリケーションにフックする エンジン機能をアプリケーションで上書きする 読み込み/設定フックでRailsフレームワークが読み込まれないようにする方法 1 Railsにおけるエンジンの役割 エンジン (engine) は、ホストとなるRailsアプリケーションに機能を提供するミニチュア版Railsアプリケーションとみなせます。この場合、ホストとなるRailsアプリケーションは、実際にはエンジンに「ターボをかけた」ようなものにすぎず、Rails::ApplicationクラスはRails::Engi
前提 アプリケーションの規模が大きくなりつつある段階で、アプリの中核ではない機能(今回はブログ記事管理機能)をプラグインとして切り出したいなーと思い、RailsのMountable Engine型プラグインを作ってみました。 「はじめての」なので、基礎的な内容になります。 これからやること Mountableエンジンを作成する Scaffoldで記事管理機能を作成する エンジンに親アプリとは別のassetを適用する テストにRSpecを使えるように設定する FactoryGirlをRSpec内で使う サンプルアプリ Mountableエンジンとは? Railsアプリケーション内に存在するが、完全に本体アプリ(親)から独立した小さなアプリケーションのこと。 Model、View、Controller、ルーティング、Gemfile、assetなど全てにおいて親アプリとは別の世界で管理している。
レポジトリの特定ブランチを使いたいとか,ローカルでちょっと変更して試したいときのGemfileの変更方法. 変更してbundleを実行すればよい. ref: https://bundler.io/man/gemfile.5.html # あるレポジトリの特定ブランチ gem 'albino', :git => 'git://github.com/yaotti/albino.git', :branch => "enable-g-flag" # 追記: GitHubのmasterならこういう指定もできる(bundler v 1.1以降) gem 'rails', :github => 'rails/rails' # ローカルにあるgem gem 'albino', :path => '/Users/you/path/to/albino' Register as a new user and u
はじめに 課題 Rails LTSについて 導入手順 1. configatronがyamlを読み込まなくなった。 2. Squirrelを利用した絞りこみがされなくなった。 おわりに はじめに サービス開発統括本部で、運用系の業務担当している寺田です。 主にOptimal Remote等のサービスを担当しています。 Ruby 1.8.7 + Rails 2.3.xで動いていたアプリをRails LTSを利用してRuby 2.5.5で動作させました。 実施した際のメモやハマった点を以下に記します。 課題 OPTiMでは10年以上Ruby on Railsを利用しており、主要なサービスに於いては、随時RubyおよびRailsのバージョンアップを行っていますが、あるサブシステムにおいて、Ruby 1.8 + Rails 2.3のままアップデートがされていない状態となっていました。セキュリティ面
サポートが終了しているバージョンを使用することは、セキュリティ上、大変危険なのでアップデートすることが強く推奨されています。Rubyのバージョンを確認して、必要であればアップデートを行いましょう! Rubyのバージョンの確認方法 Rubyのバージョンを確認するには、コンソールにて「ruby –version」または「ruby -v」のコマンドで確認できます。 $ ruby -v ruby 2.6.1p33 (2019-01-30 revision 66950) [x86_64-darwin18] Rubyはバージョンによって機能に多少の違いがあるため、アップデートを行う前に確認する事を推奨します。 WindowsのRubyのバージョンの切り替え方法 WindowsにおいてRubyInstallerでインストールしたRubyのバージョンを管理するには、uruを使う必要があります。 uru公式
タイトルがやや煽り気味ですが、Rails案件での開発やプログラミング講師を経験してきた自分として思うこともあり、Twitterでよく見かける「駆け出しエンジニアの方」や「プログラミングスクールでRuby on Railsを勉強している方」たち向けのヒントをまとめてみました。 今後のキャリアや学習方法を考える上で、何かしら参考になれば幸いです。 初学者がRailsを学ぶことが批判されやすい理由 そもそも駆け出しエンジニアがRailsを学ぶ理由 Ruby on Railsを学習する駆け出しエンジニアのレベルが低いと見られる理由 本当に使えるようになるまでは、実は学習コストが高い 自分で正解を導いていく文化がない場合がある Railsで学習を進めるメリット RailsWayに乗っかれると開発者としての役割を持ってもらいやすい 比較的様々な情報にアクセスしやすい Rails学習でやるべきスキルアッ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く