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/にアクセスすると、それらしいページが表示された。ご丁寧にこのあとどうすればいいのか?が書かれている。日本語で書くとこんな感じか。
- rails generate コマンドを使って、modelとcontollerを作りなはれ!
- root routeを設定して、このページを別のページに置き換えなはれ
- データベースを設定しなはれ(もしデフォルトのSQLiteを使っていないのなら、config/database.yml にユーザ名とパスワードを入れること)
(somewhere)/workspace/hoge>rails g contoller コントローラ名 [アクション名] [アクション名] [アクション名]・・・コントローラ名?、アクション名?って思ったけど、とりあえず適当にやってみる。元に戻す方法さえわかれば平気なので予め調べておくと、
(somewhere)/workspace/hoge>rails d contoller コントローラ名で消せるらしい。
作ったContollerをリストアップするようなコマンドは無いらしい。まだ初心者でよくわからないけれど、おそらく生成されたソースを見れば自明なのだろう。generateした時のコンソールを見ると、以下が生成(create)され、実行(invoke)されているらしい。
コメント
コメントを投稿