ラベル Ruby の投稿を表示しています。 すべての投稿を表示
ラベル Ruby の投稿を表示しています。 すべての投稿を表示

2011/06/18

さくらのVPSにインストールしたRails3を使ったscaffoldジェネレータチュートリアルの続きです。



さくらの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

今度は日本語が化けませんでした。


2011/06/04

さくらVPSへruby on railsをインストールしてみました。



さくらVPSへruby on railsをインストールしてみました。色々なサイトの記載を参考にRails 3.0.7をインストールしました。


Rubyのコンパイルに必要なものをインストールします。
$ sudo yum install openssl-devel zlib-devel readline-devel

Ruby1.9.2をインストールします。
$ wget ftp://ftp.ruby-lang.org/pub/ruby/ruby-1.9.2-rc2.tar.gz
$ tar xfvz ruby-1.9.2-rc2.tar.gz
$ cd ruby-1.9.2-rc2
$ ./configure
$ make
$ sudo make install

この後、rubygemsをインストールしました。(後で分かったのですが、このインストールは不要でした。)
$ wget http://rubyforge.org/frs/download.php/69365/rubygems-1.3.6.tgz
$ tar xvzf rubygems-1.3.6.tgz
$ cd rubygems-1.3.6
$ ruby setup.rb

rubygemsの確認をすると、エラーが表示されます。
$ gem -v
/usr/local/lib/ruby/site_ruby/1.9.1/rubygems/gem_runner.rb:86:in `': undefined method `load_plugins' for Gem:Module (NoMethodError)
        from /usr/local/bin/gem:9:in `require'
        from /usr/local/bin/gem:9:in `
'

調べてみると、Ruby1.9.2には、gemは含まれているようなので、rubygemsのインストールが不要でした。2つのgemをインストールしたことによって、PATHに何か不具合が発生したような感じです。ruby-1.9.2-rc2とrubygems-1.3.6でインストールしたものを一度削除して、再度、ruby-1.9.2-rc2をインストールしました。

この状態で、各バージョンを確認
$ ruby -v
ruby 1.9.2dev (2010-07-11 revision 28618) [x86_64-linux]
$ gem -v
1.3.7

ここから、ruby on railsのインストール
$ sudo gem install rails --include-dependencies

railsのアプリケーションを作成します。
$ rails new ~/hoge_rails

データベースは、sqlite3を使うようにするので、インストールします。yumのインストールでは、sqlite3.3.6以上は、インストールできないとのこと、sqlite3.6.16以上が必要なので、ソースからインストールします。
$ wget http://www.sqlite.org/sqlite-autoconf-3070603.tar.gz
$ tar vxzf sqlite-autoconf-3070603.tar.gz
$ ./configure
$ make
$ sudo make install

sqlite3用Rubyのライブラリをインストールします。
$ sudo gem install sqlite3-ruby

railsのアプリケーションの階層にある起動スクリプトで、サーバを立ち上げます。
$ ./script/rails server
=> Booting WEBrick
=> Rails 3.0.7 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2011-06-04 17:57:52] INFO  WEBrick 1.3.1
[2011-06-04 17:57:52] INFO  ruby 1.9.2 (2010-07-11) [x86_64-linux]
[2011-06-04 17:57:52] INFO  WEBrick::HTTPServer#start: pid=30103 port=3000

該当URLの3000番ポートにアクセスすると、正常に表示されました。

2010/10/24

android-scripting(SL4A)に、Ruby と Lua の実装を入れてみました。



android-scripting(SL4A)に、Ruby と Lua(ルア) の実装を入れてみました。Pythonの実装を入れる時に、他の実装が用意されているのが分かりました。他には、Perl と Rhino(ライノー)があります。

Lua(ルア)とRhino(ライノー)については、よく知らなかったのですが、調べてみると、気になるスクリプト言語でした。

Lua http://www.lua.org/
Rhino https://developer.mozilla.org/ja/Rhino

Ruby と Lua(ルア)をインストールした後、android-scripting(SL4A)を起動した様子。Pythonのアイコンが表示されるようになった理由が分かりました。他の言語との区別がすぐ付くためのアイコンでした。 Ruby と Lua(ルア)のアイコンが表示されています。
 Rubyでの「Hello Android」表示スクリプト
Luaでの「Hello Android」表示スクリプト

人気の投稿 (過去 30 日間)