デプロイ先の .rvmrc をtrustする
.rvmrc ファイルを置いておくと自動的に使用するRubyのバージョンを切り替えられるので便利ですが、デプロイ先で利用する場合に毎回 .rvmrc を信頼するか Yes/No? と聞かれるのが自動化と相性が良くないので、
1 % cd /path/to/.rvmrc 2 % rvm rvmrc trust
しておくとその後何も聞かれなくなります。
.rvmrc ファイルを置いておくと自動的に使用するRubyのバージョンを切り替えられるので便利ですが、デプロイ先で利用する場合に毎回 .rvmrc を信頼するか Yes/No? と聞かれるのが自動化と相性が良くないので、
1 % cd /path/to/.rvmrc 2 % rvm rvmrc trust
しておくとその後何も聞かれなくなります。
千代田区二番町3番地11にあるインド料理店アジャンタに行きました。
HPでは通院販売もされています。 お店の中でもスパイスやマンゴーのピクルスなど珍しいものが販売されていました。 お店の外ではカレーのお弁当も売られています。
ランチでお店を利用しました。二階に案内されます。
ランチのセットとしては、
・ワン カレー
お 好 み の カ レ ー+ご飯又はお好みのパン ¥1300
・A ペア
チキンカレー+キーママタール+ご飯又はお好みのパン ¥1500
・C ペア
お 好 み の カ レ ー【2種】+ご飯又はお好みのパン ¥1500
・Aセット
お 好 み の ス ー プ+チキンカレー+キーママタール+ご飯又はお好みのパン+お好みのお飲み物 ¥2000
・Cセット
お 好 み の ス ー プ+お好みのカレー【2 種】+ご飯又はお好みのパン+お好みのお飲み物 ¥2000
があります。 ワンカレーのエッグカレーを注文しました。 エッグカレーは辛くないですが、辛いカレーを注文すると「辛いですが大丈夫ですか?」と店員さんが聞いてくれます。店員さんは見た範囲では日本人はいないようでした。
はじめにサラダが出てきます。 キャベツにマヨネーズ系のドレッシングを和えたものです。生のキャベツの千切りえはなく、酢漬けっぽい感じがしましたが、正確にはわかりません。 ナンは大きいです。厚めでもっちりしている部分も、薄くてパリパリの部分もありました。オイル?がかかっています。 エッグカレーは辛くないカレーです。辛いカレーが好きな方にはお勧めできませんが、味は良かったです。中央に置かれたゆで玉子はしっかり火が通っていました。 チャイなども飲みたかったですが、単品で550円と割と高めだったのでやめておきました。
テーブルや椅子は赤と緑のそれぞれのチェックなどでクリスマスカラーっぽかったですが、特にクリスマスあからというわけではなさそうです。 お水の追加は頻繁にしてもらえました。店員さんの愛想も良いので居心地が良かったです。
新しい地域Rubyコミュニティ Chiyoda.rb
千代田区周辺のRubyに縁のある企業に会場をお借りして定期的に会合を開催し、Rubyプログラマーの間で情報交換を行う場所を提供する事を目的としております。
株式会社万葉様のご協力により、第1回の会合を開催する運びとなりました。
Rubyistの皆様方におかれましてはお誘い合わせの上ご参加いただければ幸いです。 よろしくお願いいたします。
Cloud Foundryに申し込んで使えるようになったので、Spring Roo in Actionの11章を参考にRooのアプリケーションをデプロイしてみました。
まずはroo shellからCloud Foundryを走査するためのAddonをインストールします。インストールの間自動的に認証されるよう、下記コマンドを実行します。
1 roo> pgp automatic trust 2 Automatic PGP key trusting enabled (this is potentially unsafe); disable by typing 'pgp automatic trust' again
そして下記コマンドでAddonをインストールします。
1 roo> addon install bundle --bundleSymbolicName org.spring framework. roo.addon. cloud.foun dry;1.1.5.RELE ASE 2 Target resource(s): 3 ---------- --------- 4 Spring Roo - Addon - Cloud Foundry (1.1.5.RELE ASE) 5 6 Required resource(s): 7 ---------- ---------- - 8 Spring Beans (3.0.5.RELE ASE) 9 jcl-over-s lf4j (1.6.1) 10 slf4j-nop (1.6.1) 11 Spring AOP (3.0.5.RELE ASE) 12 Servlet Specificat ion API (2.5.0) 13 Spring Core (3.0.5.RELE ASE) 14 Jackson JSON processor (1.6.2) 15 Data mapper for Jackson JSON processor (1.6.2) 16 Spring Context (3.0.5.RELE ASE) 17 Spring Roo - Wrapping - aopallianc e (1.0.0.0010 ) 18 Spring Web (3.0.5.RELE ASE) 19 slf4j-api (1.6.1) 20 Spring Roo - Wrapping - Cloud Foundry API (0.0.1.0010 ) 21 22 Optional resource(s): 23 ---------- ---------- - 24 Spring Expression Language (3.0.5.RELE ASE) 25 Spring ASM (3.0.5.RELE ASE) 26 27 Deploying. ..done. 28 29 Successful ly installed add-on: Spring Roo - Addon - Cloud Foundry [version: 1.1.5.RELE ASE] 30 [Hint] Please consider rating this add-on with the following command: 31 [Hint] addon feedback bundle --bundleSy mbolicName org.spring framework. roo.addon. cloud.foun dry --rating ... --comment ".. 32 ."
Roo in Actionの例では "addon install bundle --bundleSy
インストールが終了したら自動認証をOFFに戻します。
1 roo> pgp automatic trust 2 Automatic PGP key trusting disabled (this is the safest option)
Addonをインストールしたことでcloud foundryコマンドが使用できるようになっています。まずはCloud Foundryにログインします。
1 roo> cloud foundry login --email xxxxxxxxxx@xxxxx.xxx --password xxxxxxxxxx 2 Credential s saved. 3 Logged in successful ly with email address 'xxxxxxxxxx @xxxxx.xxx'
Cloud Foundryの環境についての情報を表示するには下記コマンドを実行します。
1 roo> cloud foundry info 2 3 4 VMware's Cloud Application Platform 5 For support visit http://sup port.cloud foundry.co m 6 7 8 Target: http://api .cloudfoun dry.com (0.999) 9 10 11 User: hiroaki.ak anuma@gmail.com 12 Usage: Memory (128MB of 2048MB total) 13 Services (0 of 16 total) 14 Apps (1 of 20 total)
現在デプロイされているアプリケーションのリストは下記コマンドで確認できます。
1 roo> cloud foundry list apps 2 3 ==================== ========== ===== Applicatio ns ========== ========== ========== ===== 4 5 Name Status Instances Services URLs 6 ---- ------ --------- -------- ---- 7 akanumahel lo STARTED 1 akanumahel lo.cloudfo undry.com
上記の出力では akanumahel
また、現在使用可能なサービスのリストは下記コマンドで確認できます。
1 roo> cloud foundry list services 2 3 ==================== === System Services ========== ========== ==== 4 5 Service Version Descriptio n 6 ------- ------- ---------- - 7 mysql 5.1 MySQL database service 8 postgresql 9.0 PostgreSQL database service (vFabric) 9 mongodb 1.8 MongoDB NoSQL store 10 redis 2.2 Redis key-value store service 11 rabbitmq 2.4 RabbitMQ messaging service 12 13 14 There are currently no provisione d services.
ではアプリケーションをデプロイしてみます。cloud foundry deploy コマンドでデプロイすることができます。
1 roo> cloud foundry deploy --appName cftest --path CREATE 2 ~~中略~~ 3 Operation could not be completed:400 Bad Request
上記のように 400 Bad Request となってしまった場合は、--appName で指定したアプリケーション名がすでに使われているということなので、アプリケーション名を変更して再度デプロイします。
1 roo> cloud foundry deploy --appName cftestaka --path CREATE 2 ~~中略~~ 3 The application 'cftestaka' was successful ly pushed
上記のように successful
1 roo> cloud foundry list apps 2 3 ==================== ========== ===== Applicatio ns ========== ========== ========== ===== 4 5 Name Status Instances Services URLs 6 ---- ------ --------- -------- ---- 7 akanumahel lo STARTED 1 akanumahel lo.cloudfo undry.com 8 cftestaka STOPPED 1 cftestaka. cloudfound ry.com
cftestakaというアプリケーションが一覧に追加されています。StatusがSTOPPEDになっていてまだ起動はしていないので、下記コマンドでアプリケーションを起動します。
1 roo> cloud foundry start app --appName cftestaka 2 The application 'cftestaka' was successful ly started 3 roo> cloud foundry list apps 4 5 ========== ========== ========== ===== Applicatio ns ========== ========== ========== ===== 6 7 Name Status Instances Services URLs 8 ---- ------ --------- -------- ---- 9 akanumahel lo STARTED 1 akanumahel lo.cloudfo undry.com 10 cftestaka STARTED 1 cftestaka. cloudfound ry.com
Status が STARTED に変わり、アプリケーションが起動されました。http://cft
稼働中のアプリケーションの統計情報については下記コマンドで確認できます。
1 roo> cloud foundry view app stats --appName cftestaka 2 3 ==================== ========== App. Stats ========== ========== ========== 4 5 Instance CPU (Cores) Memory (limit) Disk (limit) Uptime 6 -------- ---------- - ---------- ---- ---------- -- ------ 7 0 8.0 (4) 239.09M (256M) 28.0M (2048M) 0d:
さて、アプリケーションは起動しましたが、まだDBが使えるようになっていないので、Entityを操作するための画面に遷移しようとするとエラーになってしまいます。
まずはDBをサービスとして作成します。
1 roo> cloud foundry create service --serviceName cftesakadb --serviceT ype postgresql 2 The service 'cftesakadb ' was successful ly created
サービスの一覧を確認すると、= Provisione
1 roo> cloud foundry list services 2 3 ==================== === System Services ========== ========== ==== 4 5 Service Version Descriptio n 6 ------- ------- ---------- - 7 mysql 5.1 MySQL database service 8 postgresql 9.0 PostgreSQL database service (vFabric) 9 mongodb 1.8 MongoDB NoSQL store 10 redis 2.2 Redis key-value store service 11 rabbitmq 2.4 RabbitMQ messaging service 12 13 14 15 = Provisione d Services = 16 17 Name Service 18 ---- ------- 19 cftesakadb postgresql
次に、作成したサービスをアプリケーションに紐付けます。
1 roo> cloud foundry bind service --serviceName cftesakadb --appName cftestaka 2 The service 'cftesakadb ' was successful ly bound to the applicatio n 'cftestaka' 3 roo>
そしてアプリケーションを再起動します。
1 roo> cloud foundry restart app --appName cftestaka 2 The application 'cftestaka' was successful ly restarted
これでアプリケーションがDBを使えるようになり、EntityのCRUD画面も動作するようになります。
アプリケーションのログを確認するには下記コマンドを実行します。
1 roo> cloud foundry view logs --appName cftestaka --instance0
長いので出力は省略しますが、stderr.log
それと現在のメモリの割当量は下記コマンドで確認できます。
1 roo> cloud foundry view app memory --appName cftestaka 2 3 = Application Memory = 4 5 Name Memory 6 ---- ------ 7 cftestaka 256MB
現在は256MBのメモリが割り当てられています。この割当量を変更するには下記のようにコマンドを実行します。
1 roo> cloud foundry update app memory --appName cftestaka --memSize 512MB 2 3 = Application Memory = 4 5 Name Memory 6 ---- ------ 7 cftestaka 512MB
メモリ量が512MBに変更されました。
RooとCloud Foundryの組み合わせなら簡単なCRUDアプリの公開はとてもスピーディーに行うことができそうです。まだCloud Foundryはベータ版なので、正式版になったときに料金体系などがどうなるかは気になりますが、Roo + Cloud Foundryで何か公開できるようなサービスでも作れないかなぁと思っています。
名前は聞いたことがあったもののどんなものかよく分かってなかったので、下記チュートリアルページを参考にCloud Foundryを触ってみました。
VMware Cloud Foundry入門 - Getting Started (Japanese)
Cloud FoundryはVMwareが提供しているオープンソースのPaaSフレームワークで、ソースコードを取得してPaaS環境を構築できるほか、VMwareがvSphereデータセンター内で運営しているCloud Foundryのホステッド環境に接続することができます。現在はβ版ということで、無料で利用できるようです。
まずは http://www
とりあえず自宅PCのWindows環境で試してみました。まず http://www
1 C:\Users\akanuma>ruby -version 2 ruby 1.9.3p0 (2011-10-30) [i386-mingw 32] 3 -e:1:in `<main>': undefined local variable or method `rsion' for main:Objec t (NameError)
なにやらエラーが出ていますが、とりあえず続行。
Cloud FoundryのCLIであるvmcをインストールします。
1 C:\Users\akanuma>gem install vmc 2 Fetching: spruz-0.2.13.gem (100%) 3 Fetching: json_pure- 1.5.4.gem (100%) 4 Fetching: rubyzip2-2 .0.1.gem (100%) 5 Fetching: mime-types -1.17.2.ge m (100%) 6 Fetching: rest-clien t-1.6.7.ge m (100%) 7 Fetching: terminal-t able-1.4.4 .gem (100%) 8 Fetching: interact-0 .2.gem (100%) 9 Fetching: vmc-0.3.13 .gem (100%) 10 Successful ly installed spruz-0.2. 13 11 Successful ly installed json_pure- 1.5.4 12 Successful ly installed rubyzip2-2 .0.1 13 Successful ly installed mime-types -1.17.2 14 Successful ly installed rest-clien t-1.6.7 15 Successful ly installed terminal-t able-1.4.4 16 Successful ly installed interact-0 .2 17 Successful ly installed vmc-0.3.13 18 8 gems installed 19 Installing ri documentat ion for spruz-0.2. 13... 20 Installing ri documentat ion for json_pure- 1.5.4... 21 Installing ri documentat ion for rubyzip2-2 .0.1... 22 Installing ri documentat ion for mime-types -1.17.2... 23 Installing ri documentat ion for rest-clien t-1.6.7... 24 unable to convert "\xE2" to UTF-8 in conversion from ASCII-8BIT to UTF-8 to Windows-31 J for README.rdo c, skipping 25 Installing ri documentat ion for terminal-t able-1.4.4 ... 26 Installing ri documentat ion for interact-0 .2... 27 Installing ri documentat ion for vmc-0.3.13 ... 28 Installing RDoc documentat ion for spruz-0.2. 13... 29 Installing RDoc documentat ion for json_pure- 1.5.4... 30 Installing RDoc documentat ion for rubyzip2-2 .0.1... 31 Installing RDoc documentat ion for mime-types -1.17.2... 32 Installing RDoc documentat ion for rest-clien t-1.6.7... 33 unable to convert "\xE2" to UTF-8 in conversion from ASCII-8BIT to UTF-8 to Windows-31 J for README.rdo c, skipping 34 Installing RDoc documentat ion for terminal-t able-1.4.4 ... 35 Installing RDoc documentat ion for interact-0 .2... 36 Installing RDoc documentat ion for vmc-0.3.13 ...
vmcのtargetコマンドでデプロイ対象を api.cloudf
1 C:\Users\akanuma>vmc target api.cloudfoundry.com 2 Succesfull y targeted to [http://api .cloudfoun dry.com]
続けてログインコマンドを実行します。
1 C:\Users\akanuma>vmc login 2 Email: xxxxxxxxxx@xxxxx.xxx 3 Password: ******** 4 Successful ly logged into [http://api .cloudfoun dry.com]
そしてアプリケーションを作成するためのディレクトリを作成して移動します。
1 C:\Users\akanuma>mkdir hello 2 C:\Users\akanuma>cd hello 3 C:\Users\akanuma\hello>
次にhllo.rbという名前で下記内容のファイルを作成します。文字コードはUTF-8で、改行コードはLFにしないと失敗するようです。
1 require 'sinatra' 2 get '/' do 3 "Hello from Cloud Foundry!" 4 end
アプリケーションをデプロイします。vmc pushコマンドを実行すると追加の情報入力用のプロンプトが表示されますので、それぞれ下記のように入力します。
1 C:\Users\akanuma\hello>vmc push 2 Would you like to deploy from the current directory? [Yn]: 3 Application Name: akanumahel lo 4 Applicatio n Deployed URL ["akanumahel lo.cloudfo undry.com"]: 5 Detected a Sinatra Applicatio n, is this correct? [Yn]: 6 Memory Reservatio n ("64M", "128M", "256M", "512M", "1G", "2G") ["128M"]: 7 Creating Applicatio n: OK 8 Would you like to bind any services to 'akanumahel lo'? [yN]: 9 Uploading Applicatio n: 10 Checking for available resources: OK 11 Packing applicatio n: OK 12 Uploading (0K): OK 13 Push Status: OK 14 Staging Applicatio n: OK 15 Starting Applicatio n: OK
無事デプロイされたようです。ブラウザで http://aka
続けて変更を加えてみます。hello.rbの "Hello from Cloud Foundry!" を "Hello from Cloud Foundry and VMware!" に変更して保存します。そして下記コマンドでサーバ上に変更を反映します。
1 C:\Users\akanuma\hello>vmc update akanumahello 2 Uploading Applicatio n: 3 Checking for available resources: OK 4 Packing applicatio n: OK 5 Uploading (0K): OK 6 Push Status: OK 7 Stopping Applicatio n: OK 8 Staging Applicatio n: OK 9 Starting Applicatio n: OK
ブラウザで再度表示を確認して、変更が反映されていれば成功です。
このチュートリアルを試す限りは簡単にアプリケーションを公開できそうです。メモリも2GBまでは使えるようですので、あまり負荷の高くないアプリケーションであれば十分に使えそうです。
SCSSよりSASSが好きです。 時々SCSSのことをSASSと呼んでるものがあって紛らわしいですね。
Rails 3.1では config/app
に
1 config.sass.preferred_syntax = :sass
と記述すれば SASS をデフォルトで使ってくれるようです。
Let's prefer the SASS :)
IKImageBro
現時点ではIBから背景色を設定することができないのですが、以下のようにすると背景色を設定できます。
1 [imageBrowserView 2 setValue:[NSColor clearColor ] 3 forKey:IKI mageBrowse rBackgroun dColorKey];
brew upgrade groonga
しようとしたら、以下のようなエラーが出てきました。
1 Error: undefined method `include?' for nil:NilClass
これはbrewのバージョンが古いのが原因らしい。
1 cd `brew --prefix`/Library/Contributio ns/example s 2 git clean -n 3 rm brew-upgra de.rb
して再挑戦したら上手く動きました。
前回まででEntityの作成まで終わったので、Webアプリケーションとして動作させるためのメモです。
以前のエントリはこちら
Spring Roo Install
[Spring Roo]プロジェクト作成, Logging&DB接続設定
[Spring Roo]Entity作成
・roo shell上でwebコマンドを実行することで、Webアプリケーションとして動作するために必要なファイルが生成されます。
1 roo> web mvc setup 2 Created SRC_MAIN_WEBAPP\WEB-INF\spring 3 Created SRC_MAIN_W EBAPP\WEB-INF\spring\webmvc-conf ig.xml 4 Created SRC_MAIN_W EBAPP\WEB-INF\web.xml 5 Updated SRC_MAIN_W EBAPP\WEB-INF\spring\webmvc-conf ig.xml 6 Created SRC_MAIN_W EBAPP\images 7 Created SRC_MAIN_W EBAPP\images\create.png 8 Created SRC_MAIN_W EBAPP\images\list.png 9 Created SRC_MAIN_W EBAPP\images\resultset_p revious.pn g 10 Created SRC_MAIN_W EBAPP\images\resultset_n ext.png 11 Created SRC_MAIN_W EBAPP\images\show.png 12 Created SRC_MAIN_W EBAPP\images\favicon.ico 13 Created SRC_MAIN_W EBAPP\images\delete.png 14 Created SRC_MAIN_W EBAPP\images\resultset_f irst.png 15 Created SRC_MAIN_W EBAPP\images\springsourc e-logo.png 16 Created SRC_MAIN_W EBAPP\images\resultset_l ast.png 17 Created SRC_MAIN_W EBAPP\images\add.png 18 Created SRC_MAIN_W EBAPP\images\banner-grap hic.png 19 Created SRC_MAIN_W EBAPP\images\update.png 20 Created SRC_MAIN_W EBAPP\styles 21 Created SRC_MAIN_W EBAPP\styles\alt.css 22 Created SRC_MAIN_W EBAPP\styles\standard.cs s 23 Created SRC_MAIN_W EBAPP\WEB-INF\classes 24 Created SRC_MAIN_W EBAPP\WEB-INF\classes\standard.pr operties 25 Created SRC_MAIN_W EBAPP\WEB-INF\classes\alt.propert ies 26 Created SRC_MAIN_W EBAPP\WEB-INF\layouts 27 Created SRC_MAIN_W EBAPP\WEB-INF\layouts\default.jsp x 28 Created SRC_MAIN_W EBAPP\WEB-INF\layouts\layouts.xml 29 Created SRC_MAIN_W EBAPP\WEB-INF\views 30 Created SRC_MAIN_W EBAPP\WEB-INF\views\header.jspx 31 Created SRC_MAIN_W EBAPP\WEB-INF\views\footer.jspx 32 Created SRC_MAIN_W EBAPP\WEB-INF\views\views.xml 33 Created SRC_MAIN_W EBAPP\WEB-INF\views\index.jspx 34 Created SRC_MAIN_W EBAPP\WEB-INF\views\index-templ ate.jspx 35 Created SRC_MAIN_W EBAPP\WEB-INF\views\uncaughtExc eption.jsp x 36 Created SRC_MAIN_W EBAPP\WEB-INF\views\resourceNot Found.jspx 37 Created SRC_MAIN_W EBAPP\WEB-INF\views\dataAccessF ailure.jsp x 38 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form 39 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form\update.tagx 40 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form\create.tagx 41 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form\dependency. tagx 42 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form\show.tagx 43 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form\list.tagx 44 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form\find.tagx 45 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form\fields 46 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form\fields\select.tagx 47 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form\fields\display.tag x 48 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form\fields\column.tagx 49 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form\fields\editor.tagx 50 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form\fields\checkbox.ta gx 51 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form\fields\simple.tagx 52 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form\fields\input.tagx 53 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form\fields\textarea.ta gx 54 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form\fields\datetime.ta gx 55 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form\fields\table.tagx 56 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form\fields\reference.t agx 57 Created SRC_MAIN_W EBAPP\WEB-INF\tags\menu 58 Created SRC_MAIN_W EBAPP\WEB-INF\tags\util 59 Created SRC_MAIN_W EBAPP\WEB-INF\tags\util\pagination. tagx 60 Created SRC_MAIN_W EBAPP\WEB-INF\tags\util\theme.tagx 61 Created SRC_MAIN_W EBAPP\WEB-INF\tags\util\placeholder .tagx 62 Created SRC_MAIN_W EBAPP\WEB-INF\tags\util\panel.tagx 63 Created SRC_MAIN_W EBAPP\WEB-INF\tags\util\language.ta gx 64 Created SRC_MAIN_W EBAPP\WEB-INF\tags\util\load-script s.tagx 65 Created SRC_MAIN_W EBAPP\WEB-INF\i18n 66 Created SRC_MAIN_W EBAPP\WEB-INF\i18n\messages.pr operties 67 Created SRC_MAIN_W EBAPP\images\en.png 68 Updated SRC_MAIN_W EBAPP\WEB-INF\i18n\application .propertie s 69 Updated SRC_MAIN_W EBAPP\WEB-INF\web.xml 70 Updated ROOT\pom.xml [added dependenci es org.spring framework: spring-web :${spring.ver sion}, org.spring framework: spring-we 71 bmvc:${spring.ver sion}, org.spring framework. webflow:sp ring-js-re sources:2. 2.1.RELEAS E, commons-di gester:com mons-diges ter 72 :2.0, commons-fi leupload:c ommons-fil eupload:1. 2.1, javax.serv let.jsp.js tl:jstl-ap i:1.2, org.glassf ish.web:js tl-impl:1. 2, 73 javax.el:e l-api:1.0, joda-time:joda-time:1.6, javax.serv let.jsp:js p-api:2.1, commons-co dec:common s-codec:1. 4; updated p 74 roject type to war; added dependenci es org.apache .tiles:til es-core:2. 2.1, org.apache .tiles:til es-jsp:2.2 .1] 75 Updated SRC_MAIN_W EBAPP\WEB-INF\views\footer.jspx
Webアプリケーションに必要なweb.xmlなどのファイルが生成されました。
また、Rooで作成されるのはSpringMVCアプリケーションですので、webmvc-con
さらにデフォルトの画面を表示するためのファイルも生成されています。Rooで生成されるSpringMVCアプリケーションでは画面表示にtilesとjspxを使用しているため、デフォルト画面や共通のヘッダ、フッタ用のjspxファイルやtagxファイルが生成されました。CSSや画像ファイルも生成されます。
次に各EntityのController
1 roo> controllerscaffold --class ~.web.Proje ctControll er --entity ~.model.Pro ject 2 Created SRC_MAIN_J AVA\com\example\web 3 Created SRC_MAIN_J AVA\com\example\web\ProjectCont roller.jav a 4 Updated SRC_MAIN_W EBAPP\WEB-INF\spring\webmvc-conf ig.xml 5 Created SRC_MAIN_J AVA\com\example\web\Application Conversion ServiceFac toryBean.j ava 6 Created SRC_MAIN_W EBAPP\WEB-INF\views\projects 7 Created SRC_MAIN_W EBAPP\WEB-INF\views\projects\views.xml 8 Updated SRC_MAIN_W EBAPP\WEB-INF\views\projects\views.xml 9 Created SRC_MAIN_W EBAPP\WEB-INF\views\menu.jspx 10 Created SRC_MAIN_W EBAPP\WEB-INF\tags\menu\menu.tagx 11 Created SRC_MAIN_W EBAPP\WEB-INF\tags\menu\item.tagx 12 Created SRC_MAIN_W EBAPP\WEB-INF\tags\menu\category.ta gx 13 Updated SRC_MAIN_W EBAPP\WEB-INF\views\menu.jspx 14 Updated SRC_MAIN_W EBAPP\WEB-INF\views\projects\views.xml 15 Updated SRC_MAIN_W EBAPP\WEB-INF\views\menu.jspx 16 Updated SRC_MAIN_W EBAPP\WEB-INF\i18n\application .propertie s 17 Created SRC_MAIN_J AVA\com\example\web\ProjectCont roller_Roo _Controlle r.aj 18 Created SRC_MAIN_W EBAPP\WEB-INF\views\projects\list.jspx 19 Created SRC_MAIN_W EBAPP\WEB-INF\views\projects\show.jspx 20 Created SRC_MAIN_W EBAPP\WEB-INF\views\projects\create.jspx 21 Created SRC_MAIN_W EBAPP\WEB-INF\views\projects\update.jspx 22 Created SRC_MAIN_J AVA\com\exampler\web\Application Conversion ServiceFac toryBean_R oo_Convers ionService .aj
--classオプションでController
これだけでProject Entityに対する一覧表示、詳細表示、作成、更新、削除の画面・機能が一通り提供されてしまいます。
同様に各Entityに対してController
これでWebアプリケーションとして動作するようになりましたので、コマンドプロンプトからmvnコマンドを実行してアプリケーションを起動します。(roo shellではなくコマンドプロンプトです。)
1 >mvn jetty:run
1 http://localhost:808 0/example
新しい環境に移行すべく、ruby-1.9.3
applicatio
手元の環境で動いていても、いざデプロイすると以下のようなエラーが出ることがあります。
1 ActionView::Template ::Error (applicatio n.css isn't precompile d):
事前に bundle exec rake assets:pre
してから生成物をgitに含めてデプロイすればいいのですが、自動的に生成して欲しい場合には、
config/env
で
1 config.assets.compile = true
を指定します。これで勝手に生成してくれます。
Could not find a JavaScript
これもassetsの生成に関する問題なのですが、jsファイルを生成するにあたって、jsのランタイム環境が必要になります。
これもherokuの環境でやるためには、Gemfile
に以下を追加します。
1 group :productiondo 2 gem 'therubyrac er-heroku' 3 end
これでok