debian, ubuntu + Railsのapacheのインストール(passenger)
rvm ruby-1.8.7-head@global
gem install passenger
aptitude install apache2 apache2-prefork-dev libcurl4
~/.rvm/gems/ruby-1.8.7-head@global/gems/passenger-3.0.2/passenger-install-apache2-module
This installer will guide you through the entire installation process. It
shouldn't take more than 3 minutes in total.Here's what you can expect from the installation process:
1. The Apache 2 module will be installed for you.
2. You'll learn how to configure Apache.
3. You'll learn how to deploy a Ruby on Rails application.Don't worry if anything goes wrong. This installer will advise you on how to
solve any problems.Press Enter to continue, or Ctrl-C to abort.
ここでは3と入力しEnter
RVM+Ruby1.9.2+NetBeans+FastDebuuger
rvm環境については省略。
どうやら、ruby-1.9.xには、ruby-debug、ruby-debug-base等は対応していないらしい。。。
ruby-1.9.xには、ruby-debug19, ruby-debug-base19を使用する。
NetBeansでも使用したいので、ruby-debug-ide19もインストール
rvm ruby-1.9.2-head@global
gem install ruby-debug19 --no-ri --no-rdoc
すると
Building native extensions. This could take a while...
ERROR: Error installing ruby-debug-base19:
ERROR: Failed to build gem native extension.
こんなかんじで怒られる。
gem install ruby-debug19 --no-ri --no-rdoc -- --with-ruby-include=/home/{username}/.rvm/src/ruby-1.9.2-head
でいいらしい。
そしてあとはNetBeansでよみこませる!

きた!きたのかおい!
そしてデバッグモードで起動!
Webサーバに接続できませんでした。
なん。。。だと?
.rvm/gems/ruby-1.9.2-head@global/gems/ruby-debug-ide19-0.4.12/lib/ruby-debug-ide.rbを
少し編集する必要があるらしい
line133らへんのif文の中に以下を追加
if Debugger::PROG_SCRIPT == 'script/rails'
ps = `pwd`.chomp+'/script/rails'
else
ps = Debugger::PROG_SCRIPT
end
bt = debug_load(ps, options.stop, options.load_mode)
できた!
Rails3のgemについて
Rails3だと今までのgemの入れ方では入らなかったりする。
Ubuntuでの RVM 環境のセットアップ
※ RubyとGemは入れない状態で始める
RVMをGitでインストール
$ mkdir -p ~/.rvm/src/ && cd ~/.rvm/src && rm -rf ./rvm/ && git clone --depth 1 git://github.com/wayneeseguin/rvm.git && cd rvm && ./install
.bashrcや.zshrcファイルに以下を追記
if -s /home/nishima/.rvm/scripts/rvm ; then
source /home/nishima/.rvm/scripts/rvm ;
fi
w-getのようなソフトのインストール
RailsをShift_JISでつくろうとしてみた
細かいことはめんどいので割愛
必要な作業
※追記あり
config/enviroment.rb
$KCODE = "sjis"
...
Rails::Initializer.run do |config|
...
config.action_controller.default_charset = "Shift_JIS"
..
end
あと、HTMLのレイアウトとして使ってるもので、
metaタグのcharsetをShift_JISに。
これで基本的にはいいのだが、ソース内の文字コードが実はUTF8のままになってしまうので、
application_controller.rbで明示的に文字コード指定
$KCODE = "s"
以上!
追記
この書き方ではRuby1.8.xではapplication_controller.rbを通らない処理のときの文字コードがUTF8になってしまう。
なのでやはりアプリケーション全体で文字コードの指定が効く必要がある。
なので
http://d.hatena.ne.jp/Kazzz/20090327/p1
を参考に修正をする。
config/initializers/に_initialize_encording.rbというファイルを作成し、
以下の記述
$KCODE = "s"
たったこんだけで日本語がうまいこと使えるっぽい
Windows環境のNetBeansIDEでFastdebuggerがインストールできない
Windows 7環境で、Railsアプリを作成しようとしたときの話。
開発環境としてNetBeansIDEを使用。
適当にScaffoldで作成して
script/generate scaffold blogs title:string, content:text
すごいぜRails ヽ( ´ー)ノ
そしていざサーバ起動するときに、
デバッグで起動しようとしたら、
FastDebbugerがインストールされていません。
こんなかんじのメッセージが出たので、
指示に従ってダウンロードを開始したら、
ダウンロードに失敗しました。
おい。
指示にしたがっただろうが。
なんて思いながらいろいろしらべたところ、
"linecache"とやらが必要とのこと
linecache: http://rubyforge.org/frs/?group_id=5040&release_id=22842
ダウンロードしてgem install!!
gem install linecache-*.*-mswin32.gem
”*”はバージョンねー
無事インストールできたので、次はruby-debug-baseのインストール
ruby-debug-base: http://rubyforge.org/frs/?group_id=1900&release_id=28306
gem install ruby-debug-base-*.*.*-mswin32.gem
またもや "*" はバージョンね!
そして最後は、ruby-debug-ide
NetBeansIDEで使えなきゃ!
ruby-debug-ide
http://rubyforge.org/frs/?group_id=3085&release_id=38858
新しすぎると、コンパイルに失敗するみたいなので、
バージョン0.4.6くらい
できたル '‐'リ
Railsで日本語カラム名を扱う(微妙。。)
仕事でRailsから日本語カラムを使う調査を行った。
なんかプラグインとかでありそうだけどググってもひっかからない(泣)
なんとなくでつくってみた。
Sampleテーブルをつくって中身はこんな感じ
DBの文字コードはShift-JIS!
Sample↓
- +
| タイトル | サンプル | 本文 | created_at | updated_at |
- +
| | | | | |
- +
ちなみに出力結果は文字化けしてます。
ちなみにこんな書き方はエラーでできない。
sample = Sample.new
sample.タイトル = "タイトルはこれ!"
=> NoMethodError: undefined method `タイトル' for #
いろいろ試した結果、Sampleに対して "タイトル" ではなく、
Shift-JISに変換された "\203^\203C\203g\203\213" という文字列で定義されている模様
実験
sample = Sample.new("\203^\203C\203g\203\213" => "タイトルだよー")
=>
- +
|タイトル |サンプル|本文|created_at |updated_at|
- +
|タイトルだよー| | | | |
- +
(・vv・)入った
sample."\203^\203C\203g\203\213"
=> SyntaxError: compile error
ごめんなさい。sample.send("\203^\203C\203g\203\213")
=> "タイトルだよー"
できるんだ(’’;)
では代入はどうする?
sample.send("\203^\203C\203g\203\213") = "タイトル変更ですぞ"
=> SyntaxError: compile error
やっぱりでも、
sample.attributes = {"\203^\203C\203g\203\213" => "タイトル変更ですぞ"}
=> "タイトル変更ですぞ"ヽ( ´ー)ノ できるじゃないか
強引だけど代入もできることを確認できた!
あとは、処理を簡単に呼べるように定義!
sample.titleとかで呼び出せたり、代入してみよう。
やりたいこと例(app/models/sample.rb)
def title
self.send("\203^\203C\203g\203\213")
end
def title=(value)
self.attributes = {"\203^\203C\203g\203\213" => value}
end
こんなかんじで実現!
でも一つ一つ作るのは面倒なので
定義ファイルを作成
config/convert_column/sample.yml
title: タイトル
sample: サンプル
content: 本文
そしてymlをもとに "define_method" でメソッド定義して、完成したモデルがこれ↓
app/models/sample.rb
class Sample < ActiveRecord::Base
set_table_name "サンプル"# 英語名 => 日本語カラム名の情報の取得
# 例:
# title: タイトル
# sample: サンプル
# content: 本文
COLUMNS = YAML::load_file(File.join(RAILS_ROOT, "config", "convert_column", "sample.yml"))# 日本語カラムに対応する英語のaccessor定義
attr_accessor *COLUMNS.keys
validates_presence_of :title# 日本語カラムへ代入するためのメソッド定義
COLUMNS.each do |key, value|
define_method("#{key}"){|v|self.send(value.tosjis)}
define_method("#{key}="){|v|self.attributes = {value.tosjis => v}}
endend
びみょうなのは分かってる!!
所詮は備忘録!
でも意外とごちゃごちゃはしなかった