RailsでJSONを使用して画面作成

このQ&Aのポイント
  • Railsを使用してJSONを利用した画面作成方法を学ぶ
  • Ruby1.9.2とRails3.1の環境でJSONを返す方法を解説
  • 画面構築にはDOM操作が必要で、参考書籍やサイトを紹介
回答を見る
  • ベストアンサー

RailsでJSONを使用して画面作成

環境はRuby1.9.2、Rails3.1です。 Webアプリを作る勉強をしているのですが、 JSONを返してそのデータを利用して画面を作成しようと思っています。 Rails側はDBから取得したデータをto_jsonでJSON形式に変換して respond_toで返してあげればいいんですよね? UI側はこのデータを利用して構築するにはDOMでがりがり組むしかないんでしょうか? イメージがいまいちつかめません…… 参考になる書籍やサイト等もしご存知であれば教えてください。 これはRubyというよりjavascriptのカテゴリになるんでしょうか。 もしそうであるなら申し訳ありません。 よろしくおねがいします。

  • Ruby
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 >Rails側はDBから取得したデータをto_jsonでJSON形式に変換して >respond_toで返してあげればいいんですよね? 使ったことないので調べた結果で申し訳ないのですがそのようです。 >UI側はこのデータを利用して構築するにはDOMでがりがり組むしかないんでしょうか? これはどのようなものを作りたいかによると思います。 (ようはJSON形式のデータをどのように使うか) 例えばExtJSなんかを使うと結構凝ったアプリを比較的簡単に実装できます。 http://extjs.co.jp/ >これはRubyというよりjavascriptのカテゴリになるんでしょうか。 どちらかといえば比率的にはJavaScriptになると思いますが(画面構成をするのはクライアント側の話なため)難しいところです。

sakukou10
質問者

お礼

回答ありがとうございます。 教えていただいたExtJSを使ってみてイメージをつかみたいとおもいます。

関連するQ&A

  • Rails4でJSONのParseErrorを判定

    Ruby on Rails 4 で Rest 形式で Web API の開発しています。 クライアントからくる Request の JSON に構文エラーがあるか判定したいのですが 構文エラーがあると  ActionDispatch::ParamsParser::ParseError 上記のエラーが、コントローラに来る前に発生してしまうので、エラーの判定ができません。 どうすればプログラム上で上記のエラーが起こったか判定することができるでしょうか?

    • ベストアンサー
    • Ruby
  • Ruby on Rails でプルダウン

    Ruby on Rails でプルダウンを使ったページを作ってます。 プルダウンを選択すると、別のプルダウンの内容が変更されるというものです。 それ自体はjavascriptを使えばできるのですが、プルダウンの内容はDBに保存されてあるものから引っ張って使いたいと思ってます。 javascriptではDBの内容は引っ張ってこれないと思うのですが、 Railsでこういうことができるのでしょうか。 よろしくお願いします。

    • ベストアンサー
    • Ruby
  • Rails4 Redirect_Toで送信

    Rails4の開発で困っています。 コントローラーのRedirect_ToからほかのサーバへダイレクトにURLを記載し、そのURLの後ろに、?からJSON形式データをつけて渡そうとしています。 一度実施してみると、Webrickのログでは、URLを生成できていますが、 ERROR URI::InvalidURIError: bad URI(is not URI?) というエラーが出て送信できません。 redirect_toを利用することにこだわりはありません。 jsonデータをコントローラーで生成して、そのあと、決まったURLにつけて送信するだけです。 何か良い方法はないでしょうか?

    • ベストアンサー
    • Ruby
  • Ruby on Railsでアプリケーションを作りたいんですが、phpMyAdminでデータベース表の作成がうまく行かないです。

    Ruby on Railsの利用できる環境を構築します。 Ruby、Rails、データベース、Webサーバの4つをまとめてセットにしてしまったソフト【InstantRails】を使用します。 バージョン:InstantRails-2.0-win.zip をダウンロードしました。 そこで、Ruby on Railsでアプリケーションを作成して見ます。 まずは、データベース表を作成します。 【Instant Rails】ウィンドウでApacheボタンをクリックし、メニューからStartを指定しましたが、Start状態に変わってないのです。 いろいろ調べましたが、原因がわかりません。 すごく困ってます。 ご指導をお願いいたします。

  • IE以外、JSON の内容を画面に表示してしまう

    Rails4 と dojo で Ajax を用いて画面とサーバーで JSON のやり取りをする Web ページを開発しているのですが、 サーバーから送られてきたデータをブラウザが取得すると、 IE は Javascript で receive し、処理が実行されるのですが chrome や Firefox 、スマートフォンのブラウザでは JSON を直接画面に出力してしまいます。 このバグは何が原因でしょうか? また、どうすればIE 以外のブラウザでも JSON を正しく受信できるようになるでしょうか?

  • Railsのエラー

    Railsのエラーについての質問です。 コマンドプロントでデータベースを作成しようとしたところ、よくわからないエラーが発生してしまいました(><) >rake db:migrate と入力すると、 C:.../InstatntRails/ruby/bin/rake.bat:25:[BUG]Segmentation fault ruby 1.8.4(2005-12-24)[i386-mswin32] This application has requseted the Runtime to terminate it in an usual way. Please contact the application's support team for more infomation. と表示されてしまいます。。。 「ruby.bat」というファイルの25行目にバグがある? と思いファイルを確認してみました。 25行目は、 load 'rake' だけなのです! ちなみにMySQL5.0.22、ruby1.8.4,rails 1.1.0を利用しています。 バージョンが悪いのでしょうか? 初心者でしてよくわからい状況です。。。 詳しいかたがいましたら、ぜひアドバイスよろしくお願いします!!

  • GoogleMpsAPIのjson.jsによる読み込み

    GoogleMapsAPIの勉強をしています、プログラミング初心者です。 「GoogleMapsAPI徹底活用ガイド」という解説本を参考にしています。 中心位置情報をJSON形式で別ファイルに記述したものをjavascriptプログラムで読み込み、実行、googlemapに反映させたいのですが、うまくいきません。 JSON in JavaScript のページ(http://www.json.org/js.html)のリンクからJSON処理ライブラリjson.jsのスクリプトをコピー、私のサーバー内に保存し、 <head></head>内で <script type="text/javascript" src="json.js" charset="utf-8"></script> とsrc属性にjson.jsを指定、 javascriptのfunciton {}内で、 GDownloadUrl( "center.json", mySetCenter ); function mySetCenter(data) { var obj = data.parseJSON(); map.setCenter( new GLatLng(obj.lat, obj.lng), obj.zoom ); } としています。 center.jsonというのが、JSON形式の位置情報ファイルです。 解説本のサンプルを使用しているので、スクリプトの間違いではないと思います。 json.jsを使わず、javascriptでeval関数を使う場合は、正常にJSON形式の中心位置情報のデータが読み込まれ、地図が表示されます。 おそらく、json.jsのダウンロード方法やサーバへの配置方法などが間違っているではないかと思いますが、参考になる資料がなく困っています。 どなたかご教授お願いいたします。

  • Ruby on Railsで入力フォームを作成しています。

    Ruby on Railsで入力フォームを作成しています。 そこで、入力されたid(table.id)と商品名カラム(table.product_id) を結合して商品ID(table.product_number)を 登録時に商品IDカラムに登録できないかと思っています。 商品名カラムは商品テーブルから読み込んでいます。 恐らく、callbackのしくみを利用すればできるのではないかと 思っているのですが、やり方がわかりません。 以上、よろしくお願いします。 環境は以下のとおりです。 ruby1.8.6 rails 2.3.5 db:mysql gems:1.3.5

  • javascriptでJSONデータの生成方法

    現在PerlのフレームワークであるMojoliciousとJavascriptのjQueryを使ってAjaxを利用したアプリケーションを作ろうとしているのですが、クライアント側で、サーバに送信するためのJSON形式のデータがうまく作れません。 例えば、ブラウザ上の表のセルをダブルクリックしたときにそのデータを書き換えられるようにし、その更新データをJSONでサーバ側に送りたいのですが、 <table> <tr><th>name</th><th>email</th></tr> <tr><td class="name">山田</td><td class="email">yamada**@gmail.com</td></tr> </table> とある表のセルの山田のアドレスをyamada**@gmail.com -> yamada**@yahoo.co.jpと変更した場合、javascript(jQuery)で次のようなJSONデータを作りたいです。 { "email" : "yamada**@yahoo.co.jp"} 左側のemailは動的にセルのclass属性から取得したいのですが、方法が分かりません。 実際にはemail以外にも多数の列がありますので、なるべく動的にclass属性を取得したいのですが、良いJSONの生成方法やJSONを用いた他のデータ構造があれば教えていただきたいです。

  • Railsのメモリサイズについて

    Railsを使用して開発をしている者です。 そこで質問があるのですが、実はDBから読み込んだデータをメモリ上に展開して キャッシュ参照するロジックを書いたのですが 試しに大量件数をロードしたらメモリアロケーション(NoMemoryError)の エラーが発生しました。 実行時の環境は下記のとおりです  OS:WindowsVista  Rubyバージョン:1.9.3  Railsバージョン:3.2.6  Server:WebRick  AptanaStudio3の環境から実行 そこで、Railsが使用する最大のメモリサイズがどの程度なのかを 調べてみたのですが、参考書などを調べてみたものの RailsのみならずRubyでも最大メモリサイズの設定等について 言及されている情報が見つかりませんでした。 Java等であれば、実行時のオプションに「-Xmn256m」等と指定して実行する事で 最大ヒープサイズを指定して実行する事が可能かと思いますが Railsにこの様な設定は無いのでしょうか? また、NoMemoryErrorが発生した際にも物理メモリには余裕がありましたので Railsの処理環境で何らかの上限値が存在するものと思いますが その値や設定箇所等もあれば、教えて頂きたいです。

    • ベストアンサー
    • Ruby

専門家に質問してみよう