Rails 最初のアプリを作ってみる

Railsでとりあえず最初のアプリを作ってみる。適当にワークスペースのフォルダを切って、そこにアプリを作ることにする。フォルダはRubyのインストール場所に関係なく、どこでもいいようだ。
(somewhere)> cd workspace
(somewhere)/workspace> rails new hoge
実行すると、フォルダに生成されたファイルの一覧と、生成されたwebアプリケーションが依存するライブラリの一覧が表示される。生成されたアプリはいきなり起動できると聞いていたので、試してみる。
(somewhere)/workspace> cd hoge
(somewhere)/workspace/hoge> rails s
するとのっけからエラーが出てしまった。
No timezone data source could be found. To resolve this, either install TZInfo::Data
(e.g. by running 'gem install tzinfo-data')
(以下、たくさん出る)
このエラーはWindows 64bit版Ruby特有のもの。Windows環境には zoneinfoファイルが欠けているため、"tzinfo-data" で代用する必要があるらしい。rails new hoge を実行した際に生成されるファイルに、gemfile なるものが含まれるのだけれど、ここには生成したアプリが依存するライブラリが列挙されていて、そこに修正をあてる。workspace/hoge/gemfileの最終行を以下のように変更すれば問題ないようだ。
gem 'tzinfo-data', platforms: [:mingw, :mswin]
↓
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw]
これだけだと単に依存関係の宣言を変えただけで、実際に依存するライブラリは以下のようにするとダウンロードしてリンクできる。
(somewhere)workspace/hoge>bundle update
これでいよいよ起動できるようだ。改めて、
(somewhere)/workspace/hoge>rails s
とすると、コンソールに、ポート3000で起動した、とのメッセージ。さっそくブラウザで、
http://localhost:3000/
にアクセスすると、それらしいページが表示された。ご丁寧にこのあとどうすればいいのか?が書かれている。日本語で書くとこんな感じか。
  1. rails generate コマンドを使って、modelとcontollerを作りなはれ!
  2. root routeを設定して、このページを別のページに置き換えなはれ
  3. データベースを設定しなはれ(もしデフォルトのSQLiteを使っていないのなら、config/database.yml にユーザ名とパスワードを入れること)
もうおなかいっぱいだけど、項番1をやってみる。Ctrl+Cでサーバを止めて、なんだか分からないけどControllerを作ってみる。
(somewhere)/workspace/hoge>rails g contoller コントローラ名 [アクション名] [アクション名] [アクション名]・・・
コントローラ名?、アクション名?って思ったけど、とりあえず適当にやってみる。元に戻す方法さえわかれば平気なので予め調べておくと、
(somewhere)/workspace/hoge>rails d contoller コントローラ名
で消せるらしい。
作ったContollerをリストアップするようなコマンドは無いらしい。まだ初心者でよくわからないけれど、おそらく生成されたソースを見れば自明なのだろう。generateした時のコンソールを見ると、以下が生成(create)され、実行(invoke)されているらしい。

コメント

このブログの人気の投稿

svnをバッチジョブから実行するときの認証を解決する

Windows Update で Cisco Anyconnect が繋がらなくなる。(Windows8.1)

Windows8.1 から Cisco AnyConnectを使う