忍者ブログ
  • 2024.12«
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • » 2025.02
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

【2025/01/18 14:13 】 |
[プログラミング][RoR][Rubricks]Rubricksのインストール
RubricksはRuby on Railsを利用して開発されたオープンソースのCMSです。
私はこのRubricksをLMS(Lerning Management System)としても利用出来るようにするため、コンポーネントの開発を行います。

長くなりそうなので分けました。
というわけで、トップページから見ている方は、右下の「つづきはこちら」へ。
Rubricks - CMS on Rails(本家)

まずはインストールです。

Windows版のインストールについては、以下のページを参考にして下さい。
RubricksInstallationWindowsJa - Rubricks Project - Trac

以下に私のケースを書きます。
ちなみに、Cygwinで開発しています。

Rubricksのダウンロードは本家からリンクをたどって、Rubyforgeから落とすことが出来ます。
RubyForge: Rubricks: Project Info

ダウンロード後は解凍し、適当な場所へ配置します。


データベースの作成を行います。
secretはパスワードなので、自分で何か考えて下さい。
> mysql -uroot -p
Enter password: ********
・・・
mysql> CREATE DATABASE rubricks_development;
mysql> CREATE DATABASE rubricks_test;
mysql> CREATE DATABASE rubricks;
mysql> GRANT ALL ON rubricks_development.* TO root@localhost
identified by 'secret';
mysql> GRANT ALL ON rubricks_test.* TO root@localhost
identified by 'secret';
mysql> GRANT ALL ON rubricks.* TO root@localhost
identified by 'secret';
mysql> exit

config/database.ymlの変更を行います。
sample1_database.ymlというファイルがあるので、それをコピーします。
cp config/sample1_database.yml config/database.yml
その後、編集します。
common: &common
adapter: mysql
host: LOCALHOST
username: root
password: secret
encoding: utf8

development:
database: rubricks_development
<<: *common

test:
database: rubricks_test
<<: *common

production:
database: rubricks
<<: *common

config/environment.rbを編集します。
今回は開発を目的にしているので、RAILS_ENVをdevelopmentに変更します。
ENV['RAILS_ENV'] ||= 'production'
を、次のように編集します。
ENV['RAILS_ENV'] ||= 'development'

migrateを実行します。
rake db:migrate

言語を日本語に変更します。
ruby script/rubricks_config site_default_language japanese

サーバを起動させます。
ruby script/server
これでブラウザでアクセスすると動いているはずです。
http://localhost:3000/


しかし、ここで問題が起きました。

右上に表示されるはずのメッセージ(ログイン、ログアウト、検索等)が表示されていないのです。
さらに、ログインボタンを押しても、ログインフォームが表示されません。

試しに言語を英語にして動かしてみましたが、ログインフォームは表示されたものの、メッセージは相変わらず表示されず、ログイン後の挙動もおかしいです。

というわけで、ソースを見てみることに。
app/models/rubricks_lib/rubricks_language_lib.rbに原因がありそうだったので見てみました。

特におかしな点は見つからなかったんですが、166行目の
(["#{RAILS_ROOT}/languages/english.rb"] + Dir.glob("#{RAILS_ROOT}/languages/#{language}.rb") + english_lang_path + default_lang_path).each do |path|
の部分を以下のような絶対パスに変更してみました。
(["/home/y-hayato/rails/rubricks/languages/english.rb"] + Dir.glob("/home/y-hayato/rails/rubricks/languages/#{language}.rb") + english_lang_path + default_lang_path).each do |path|
この変更にはサーバの再起動が必要そうだったので、再起動して動かしてみると、上手くいきました。
メッセージの表示を直すつもりだったのに、ログインフォームの表示、ログイン後の挙動も正常通りです。
全部メッセージの表示が原因だったんですね。

ただし、このソースの変更は直接絶対パスを指定するという応急処置に過ぎず、このままではよくありません。
何故、166行目の処理が上手く動いてないんでしょうか。
RAILS_ROOTの値がおかしいのかもしれないと思い、出力してみました。
script/../config/..
サーバを動かしている場所はrubricksディレクトリの中なので、多分このパスは合っています。
(何故、このような値になっているかはわからないが)

試しに、パスに全然違う値を入れてみました。
すると、「no such file to load」というエラーが出ました。
ということは、RAILS_ENVを使っている方のソースでもファイルの読み込みは成功しているはず。
では、何故メッセージが表示されないのだろうか。

といったところで詰まってしまいました。

ここでずっと悩んでいても仕方ないので、調べつつも次の工程に進みたいと思います。

今回はここまで。

あ、インストールガイドにも書いてありますが、ログインのデフォルトユーザ名は「admin」で、パスワードは「pass」ですよ。
PR
【2007/10/13 16:47 】 | プログラミング | 有り難いご意見(0) | トラックバック()
<<[アプリケーション][Google]GmailがIMAPに対応 | ホーム | [音楽][マキシマムザホルモン]麺かたコッテリ!!>>
有り難いご意見
貴重なご意見の投稿















虎カムバック
トラックバックURL

前ページ | ホーム | 次ページ

忍者ブログ [PR]