RailsでTwitterBootstrap RubyOnRails

Rails3.2.11でTwitterBootstrapのモーダルをフォームに使う例

投稿日:2013年1月12日 更新日:

はじめに

Rails3.2でTwitterBootstrap導入のあれこれ
sass-rails-bootstrapとsimple_formを使っている

Rails3.2でCoffeeScriptをerbテンプレートとして使う件

 

CoffeeScriptをテンプレートにつかう件がわかったのでTwitterBootstrapのモーダルをフォームにしてみた

よくあるScaffoldから

index.html.erbのnew_***_pathのremoteオプションをtrueにする

 

index.html.erbにモーダルを準備する

フォームまで全部準備するとフォーム用のオブジェクトを用意しないといけない(@単数形のやつ)ので、divだけ

twitter.github.com/bootstrap/javascript.html#modals

controllerのnewアクションにjsフォーマットを足す

 

new.js.coffeeをつくる

jQueryでフォームをrenderした後、TwitterBootstrapのスクリプトからモーダルをshowする

ここでjsエスケープを忘れるとrenderした”などがエスケープされずにActionView::Template::Error (SyntaxError: reserved word “class” can’t be assigned on line 5):みたいなエラーが出て悩むことになる

また、要素を追加せずにDismissした場合には足したフォーム要素を削除しておかないと、またモーダルを呼んだときに二重にフォームが追加されてしまう

 

formのremoteオプションをtrueにする

このままだとモーダルが消えないのでモーダルを隠す操作をする必要がある

 

controllerのcreateアクションにjsフォーマットを足す

 

create.js.coffeeをつくる

ここではモーダルをhideして、足したフォーム要素を削除した

そうしないとまたNewするとフォーム要素が2つ足されてしまう

Railsでつくった要素にはたいていIDがついているのでそれを調べればOK

2013-01-12_00h39_16

最後にindexのテーブル要素に新しく足したデータを加える必要があるけど、ajax datatablesでjsonを呼んだり、jqueryでappendしたりすればよいんじゃないでしょうか

-RailsでTwitterBootstrap, RubyOnRails
-,

執筆者:

関連記事

KEN_ALL.CSVを使ってRailsで郵便番号を検索するサイトを作る1

  放置しっぱなしだったKEN_ALL.CSVで簡単に郵便番号を検索できるサイトを作ってみた 参考 KEN_ALL.CSVを使える形にする 郵便番号データダウンロード 目次1 KEN_ALL …

no image

Rails3.2からBackbone.jsとD3.jsを使う一例

目次1 Backbone.jsからD3.jsを使う2 RailsのネストしたURLでBackboneを使う Backbone.jsからD3.jsを使う d3.jsで力指向グラフを使って遊ぶ2のクラス構 …

Rails4でつかえるインラインエディタを試してみた〜X-editable-rails

目次1 x-editable2 bootstrapを導入3 x-editable-rails4 サンプルアプリ x-editable 文字をダブルクリックして編集できるやつ x-editable vi …

RedcarpetでTOC表示

By: epSos .de – CC BY 2.0 目次1 Redcarpet2 Redcarpetの使い方3 TOCを表示する4 できた5 Bootstrapのaffixとscrolls …

heroku操作メモ

By: Yasuhiko Ito – CC BY 2.0 目次1 はじめに2 アプリの新規作成3 アプリの更新 はじめに 5分でRailsアプリを公開できるherokuですが、いつもステッ …