RailsでJavascriptをControllerから送る方法
jQueryとかRailsの基本的な部分の説明を割愛して書くので「???」な方はごめんなさい。
Railsでは「public/javascripts」の下にjavascriptを配置し、javascript_include_tagを使ってscriptタグを生成させて使うのが普通な使い方だと思う。この場合、「public」の下のファイルは静的なファイルとして、Railsとしては何も処理せず内容を配信してくれる。
さて、そこで。
たまーにjavascript内にURLを書きたい時がある。この「URL」が静的なファイル、つまり「public」の下にあるファイルが持つURLであれば特に問題はないのだが動的なファイル、つまり内容が変わるとすると、ちょっと面倒なことになる。
状況としてはこんな感じ。(以下の「静的」は「ファイルの中身が変更にならない」という意味。)
ケース1: HTML => JS1(静的)
ケース2: HTML => JS2(動的)
ケース1の場合は、JS1を「public/javascripts」の下に配置してあげれば問題ない。HTMLがクライアントに送られjavascript_include_tagを使って生成されたJS1用のScriptタグが送られるので無事Javascriptはロードされるだろう。
問題はケース2のとき。JS2のscriptの内容を動的に変化させたいとする。そうなると、JS2は「public/javascripts」の下には置けない。何らかのcontrollerのactionとして実装されることになるだろう。
こんな時どうすればいいのか。
ブログについて考えた結果、整理することにしました。
この「Back yard」はco-meeting設立から書き始めたものなのですが、どんなことを書こうか迷いつつ今日まで書いてきました。
Twitter,Facebook,Blogと、それぞれのツール特性やソーシャルグラフを考えながら書いているのですが、Twitter以上 技術系レポート未満なゾーンをもっと頻度良く更新するような活動をすることで、日々のモチベーションアップに繋げていきたいと思っています。
ということで、今後「Back yard」は、「レポート系ブログ」という位置づけで書いていこうと思います。
レポートものなので
- やってみた系
- 調べてみた系
などを中心にしてみます。
内容としては技術的な話(というか、私が書くもので技術以外のものは有りえない)ですが、丁寧に書いたネタのお披露目場所としていこうと思います。今後とも宜しくお願いします。
なお、昨日(というか本日?)から、もう一つブログを立上げております。
Daily Thoughts @YUYA_LUSH'S NOTEBOOK
こちらは、思ったこと、感じたこと、整理前の雑記などになります。更新頻度は高めにするつもりです。
Google Storageを試してみよう。
クラウドなストレージと言えばAmazonS3が最も有名だと思います。多くのWebサービスで画像の保存先に使っていたり、静的なファイルを配置したりと非常によく使われているのをソースを見ると目撃することができます。そんな状況ではありますが、他にストレージのサービス無いのかなと思っていたところ見つけたのが「GoogleStrage」でした。さすがGoogle。追随の手を緩めません。
そのGoogleStrageに関するニュースを見つけました。GoogleI/Oでの発表のようです。
米国 Google は2011年5月10日、これまで招待制としてきたクラウド ストレージ サービス「Google Storage for Developers」を、招待不要のサービスとして一般提供開始した。これに合わせ、機能の追加/拡充も実施した*1
おぉ!普通に使えるようになったのですね!!じゃ、試しに使ってみましょう。
というわけで、レッツハンズオン!
今回は
- 実際に使う為の準備
- コマンドラインからのファイル操作
- 簡易Webサーバとして使ってみる
- ハンズオンレベルでの気がついた注意点
をお届けします。
続きを読むマルチタスク用のジェスチャーについて
先日書いた記事にてiPadの使い方などを紹介しましたが、その中ですぐに試せない部分がありました。
ちなみに記事はこちら。
iPad初購入者に捧ぐ!使い方のコツ/お薦めアプリ/サプライ品紹介 - Back yard : yuya_lush’s report
すぐに試せないのは、4本指で画面を上にこするジェスチャーや、右や左にはらうジェスチャー(スワイプ)でiPadの使用中アプリ一覧を出したり、アプリを切り替えたりできるという内容です。
ようは、マルチタスク用のジェスチャーでした。
友人がこの記事を読み、設定を見たのですがそんなジェスチャーを使えるようにする設定が見当たらないという話でして、調べてみたところ、どうやら私が紹介した機能は開発者向けに公開された限定的なものだったようです。
ということで上記のジェスチャーを使いたい方は、Macにxcodeを入れてiTunesと繋いで下さい。
OSを4.3にアップデートがまだの場合は、あわせてアップデートしましょう。
と、それではつまらないので調べてみたところ、Windows環境でこのジェスチャーを使えるようにする方法が紹介されていました。
http://d.hatena.ne.jp/shukaido170/touch/20110327/1301237506
なお、私はWindows環境が無いので試せていません。コメントを読むと成功された方がいるようです。
この方法で設定画面が変わるのではなく、いきなりジェスチャーが使えるようになるとのことでした。
iPad限定なのですが、これが使えるとかなり使い勝手が上がりますのでオススメです。待ちきれない方はトライされてみてはいかがでしょうか。
それにしても、xcodeをインストール済みの人限定とは。。。
そんな公開してるんですね。知らなかった。
VMwareの新PaaS "CloudFoundry"を試した!ちょっと調査もした!
CloudFoundryというのは、vmwareが作ったPaaSです。Spring, Rails and Node.jsのアプリケーションを配置できるもので、つい先日公開されたばかりの出来立てホヤホヤな、まだベータのPaaSです。
http://cloudfoundry.com/
Railsが配置できるPaaSはHerokuが有名で、ちょっと前までそれ以外のPaaSがない状況だった。ところが、先日Amazonが発表した「AWS Elastic Beanstalk」にてRailsへの対応を進めているとの話があった。そして、この界隈にVMwareが入ってきた感じになる。Rails使いの私としては、選択肢が増える事が何よりも嬉しい。
CloudFoundryのページでは、パートナーとして
- 10gen : MongoDBの会社
- Joyent : Node.jsのPaaS
- Pivtal Labs : Railsで作られたアジャイル開発のスクラムをサポートするツールサービス
- RightScale : Cloud環境を統合的に管理できるサービスの会社
が名を連ねる。
私は個人的に、このPaaSは今年のクラウド動向で非常に重要な鍵を握っていると考えている。なぜなら、このCloudFoudryそのものを作るためのソフトウェアがオープンソースで公開されているためである。
つまり、これまでホスティングなどをやってきた業者が、このオープンソースを使う事で人気があるフレームワークのPaaSとして参入することが可能になる。また、従来IaaSとして提供してきたところが一段サービスレベルをあげてPaaSとして提供する事も可能になるだろう。このように基盤ソフトがオープンソース化されることで、どのくらいのベンダーがこれらを使うかは疑問ではあるものの、人気が出てくるとベンダーとしてプラットフォームのオープン化を無視できなくなるのではないだろうか。
ユーザにしてみれば、単純に選択肢の幅が広がる可能性が極めて高く歓迎される事は間違いないだろう。
ただ同時に思うのが、本当に設備にお金をかけてきっちりした管理をしている優良なベンダーが劣悪な価格競争に巻き込まれないか心配でもある。その結果、値段だけが勝負になる世界へIaaSやPaaSがなるのは、あまり好ましい状況とは思えない。
ということで、是非とも詳しく知りたいと思い、早速試したいと思うわけです。WebよりBetaサービスへの申し込みをして、ついにアカウントが発行されたので、体験レポートしてみます。
続きを読む