さくらのVPSにインストールしたRails3を使ったscaffoldジェネレータチュートリアルの続きです。「Ruby on Rails入門のscaffoldジェネレータ」のチュートリアルで、前回、mysql2の設定で終わったところの続きです。
scaffoldジェネレータの実行
http://www.rubylife.jp/rails/scaffold/index3.html
scaffoldジェネレータを実行します。
$ ./script/rails g scaffold infomation id:integer name:string invoke active_record create db/migrate/20110618033416_create_infomations.rb create app/models/infomation.rb invoke test_unit create test/unit/infomation_test.rb create test/fixtures/infomations.yml route resources :infomations invoke scaffold_controller create app/controllers/infomations_controller.rb invoke erb create app/views/infomations create app/views/infomations/index.html.erb create app/views/infomations/edit.html.erb create app/views/infomations/show.html.erb create app/views/infomations/new.html.erb create app/views/infomations/_form.html.erb invoke test_unit create test/functional/infomations_controller_test.rb invoke helper create app/helpers/infomations_helper.rb invoke test_unit create test/unit/helpers/infomations_helper_test.rb invoke stylesheets create public/stylesheets/scaffold.css
scaffoldジェネレータによって作成されたマイグレーション定義ファイルを使ってテーブルを作成します。WARNINGが表示されましたが、テーブル作成は出来たようです。
$ rake db:migrate WARNING: Global access to Rake DSL methods is deprecated. Please include ... Rake::DSL into classes and modules which use the Rake DSL methods. WARNING: DSL method Customer::Application#task called at /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/application.rb:215:in `initialize_tasks' == CreateInfomations: migrating ============= -- create_table(:infomations) -> 0.0065s == CreateInfomations: migrated (0.0071s) ====
WEBrickサーバを起動して、アプリの動作確認すると、正常動作しますが、日本語が文字化けします。
下記のサイトの記述を参考にMySQLの文字コード設定を変更します。
Ruby on RailsとMySQLで日本語(UTF-8)を使う
http://www.amatiny.com/blog/2008/02/ruby-on-railsmysqlutf8.html
一度、MySQLの該当のテーブルを削除します。
mysql> show tables; +-------------------+ | Tables_in_railsdb | +-------------------+ | infomations | | schema_migrations | +-------------------+ 2 rows in set (0.00 sec) mysql> drop table infomations; Query OK, 0 rows affected (0.02 sec) mysql> drop table schema_migrations; Query OK, 0 rows affected (0.01 sec) mysql> show tables; Empty set (0.00 sec)
etc/my.cnfを下記の設定に変更します。
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Default to using old password format for compatibility with mysql 3.x # clients (those using the mysqlclient10 compatibility package). old_passwords=1 default-character-set = utf8 # Disabling symbolic-links is recommended to prevent assorted security risks; # to do so, uncomment this line: # symbolic-links=0 [mysql.server] user=mysql basedir=/var/lib default-character-set = utf8 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid default-character-set = utf8 [mysql] default-character-set = utf8
再度、テーブルを作成します。
$ rake db:migrate
WEBrickサーバを起動します。
$ ./script/rails s
今度は日本語が化けませんでした。
0 件のコメント:
コメントを投稿