裏表(Phinloda のもう裏だか表だか分からないページ)

コンピュータ・プログラミング系の話がメインのそれなりにごちゃごちゃしたネタばかり出てくるサイトです。多分。
Rails の国際化対応をしてみたのだが

Gemfile に http_accept_language を追加して bundle install すればいいだけのはずなのだが、なぜかインストールしてくれない。

かなり悩んだが、結局違うディレクトリの Gemfile を編集していただけだった(笑)。

JUGEMテーマ:Ruby on Rails!

| Ruby | 20:48 | comments(0) | trackbacks(0)
画面のイメージを差し替えたのにうまく表示されないのだが

Rails がよく分かっていないので、何かいろんな所でキャッシュされていそうで怪しい箇所満載なのだが、Rails を再起動しても更新してくれない。だいたいこういうケースはブラウザ側が javascript をキャッシュしているに決まっている。と予想したら案の定で、スーパーリロード (ctrl + F5) で解決。

javascript 側に ?hogehoge みたいな id 振るのが定番だと思うが、ま、そこまでしなくてもいいか。自動的にやってくれるツールがあるような気がするが、探すモチベーションがわかない。

そもそも、Rails 側でキャッシュしてサーバー再起動が必要ってどういう場合なんだろ。 config/development.rb は、

    config.action_controller.perform_caching = true

この設定なので、キャッシュが有効になっているはずだが、今のところいろいろ変更しても再起動なしで画面が変わっているので、よく分かっていない。

JUGEMテーマ:Ruby on Rails!

| Ruby | 17:51 | comments(0) | trackbacks(0)
ActionController::InvalidAuthenticityToken

Rails5で、ついうっかりしてビックリするのが InvalidAuthenticityToken。 Controller のクラス定義の先頭に次のように書けば、とりあえず解決する。

class HogeController < ApplicationController
  protect_from_forgery except: :index

index の部分は実際に呼び出すメソッドに変更する。安易にこの方法で解決していいのか、というのはちょっと気になっている。

JUGEMテーマ:Ruby on Rails!

| Ruby | 13:52 | comments(0) | trackbacks(0)
Rails の開発環境をインストールしようとしたのだが (2)

コードをちょろっと書いた後に再起動しようとしたら、起動すらしなくなった。(笑)

workspace を指定した後、こんなエラーが出てしまう。

eclipse20180206

結局、workspace の下のファイルを全部削除してやり直し。Aptana は uninstall した。

JUGEMテーマ:Ruby on Rails!

| Ruby | 20:41 | comments(0) | trackbacks(0)
Rails の開発環境をインストールしようとしたのだが

Rails ってテーマ探したら最新の投稿が 2014年だったので、何か選択ミスった気がしてきたけど、気にしない。 Eclipse からインストールし直して、本体は Oxygen.2 になった。 Ruby はダウンロードサイトを見ると、2.5 は使うな(笑)とか太字で書いてあるので、2.4.3-1 (x64) をインストール。 Rails は何も考えずに gem install rails したら、5.1.4 が入ったようだ。

まあここまではokとして、その後の Aptina Studio 3 Plugin を入れるところでハマった。 次のようなダイアログが出てくるし、困ったものだ。

Incompatible debugger version.
The remote debugger version might not match the expected protocol version (2006040705).

JUGEMテーマ:Ruby on Rails!

| Ruby | 17:09 | comments(0) | trackbacks(0)
Rails をインストールしようとしたのだが

最近ちょっとうっかり Ruby から離れてしまったらバージョンが全然ピンと来ない。Rails は書店で見た感じでは4から5に移行中というところか。とりあえず最新版を入れてみることにした。

JUGEMテーマ:コンピュータ

| Ruby | 21:23 | comments(0) | trackbacks(0)
Redmine + Passenger で機能更新したのだが

更新した機能がすぐに反映されない。 何気に apache を再起動したら、更新した機能が反映されたのだが、そういうものだっけ?

JUGEMテーマ:コンピュータ
| Ruby | 23:52 | comments(0) | trackbacks(0)
Windows に redmine をインストールしたのだが

Redmine のインストールなんて簡単だろと思ったのだが、巷では難しいという噂もあるようだ。 実際、何度もインストールしているから難しいというレベルではないと思うのだが、そう簡単ではないとしたら、理由はハッキリしていて、redmine.jp に書いてある通りにやったら失敗することがあるからだろう。 昔からそうだったような気がするし、今更驚くような話ではないけど。

とりあえず、手順をメモっておく。 前提条件。 Windows は 7。 Ruby は 1.9.3 を使った。 MySQL は xampp をインストールしたときに入ったのを使っているのでよく分からなかったが、xampp のコンパネでphpMyAdmin を実行して確認したら、5.6.16 だった。 今回選択したバージョンは次の通り。

rubyinstaller-1.9.3-p545.exe
xampp-win32-1.8.3-4-VC11-installer.exe
redmine-2.5.1.zip
debug_kit-master.zip

debug_kit のバージョンが分からんな。

redmine の公式サイトのをインストール手順は、次のページ。

http://redmine.jp/guide/RedmineInstall/

基本的にこの手順通りにする。

1. リリースパッケージをダウンロード。今回は前述の redmine-2.5.1.zip をダウンロードして、¥usr¥local¥redmine-2.5.1 に展開した。

2. まずは bundler をインストールする。公式サイトには、gem install bundler を実行しろと書いてある。この通りやったら次の

bundle install --without development test

を実行したところで、sudo でないとダメといって失敗した。Windows で sudo ってどうするのか分からないなぁ。 ググっても分からんが、同じようなエラーになった人がいることは分かった。 でも解決法が分からない。

とりあえず以前は成功していたのだろうと予想して、バージョンダウンしよう。 ということで、bundler は最新版ではなく 1.5.3 を使う。

gem install bundler --version "=1.5.3"

もしかしたら、これを見ている皆さんは、最新版でも ok になっているかもしれない。 これ書いている時点ではアウト。

なお、私の環境は imagemagick が入ってないので、公式ページに書いてあるように、次のオプションを選択した。

bundle install --without development test rmagick.

3. 空のデータベースを作成する。xampp で mysqld を起動した後、書いてある通り。

create database redmine character set utf8;
create user 'redmine'@'localhost' identified by 'my_password';
grant all privileges on redmine.* to 'redmine'@'localhost';

一応蛇足しておくけど、パスワードにmy_password を指定するようなバカなことはしないこと。

4. config/database.yml の作成 これは簡単。

adapter は mysql2 を使う。 mysql2 はインストールしていないので、先に入れておく。 このときに、mysql が入っているディレクトリを指定する。 私の環境だと次の通り。

gem install mysql2 -- '--with-mysql-lib="D:¥usr¥local¥xampp¥mysql¥lib" --with-mysql-include="D:¥usr¥local¥xampp¥mysql¥include"

5. セッションストア秘密鍵を作る。Redmine 2.x だから、

rake generate_secret_token

を実行するわけだが、mysql.dll がないといって失敗した。 しかも、対応方法は公式ページに書いてあるのだが、

場合によってはlibmysql.dllをruby/binディレクトリにコピーすることが必要です。

ありがたいな。 ということで、そうすればok。ところで、

libmysql.dllはどれでもよいわけではありません。次のURLのものが動作するようです。

とリンクが書いてあるのだが、リンク先に接続できない。orz

こんな雑魚にやられている暇はないので、xampp の mysql¥lib の下にある libmysql.dll を ruby¥bin ディレクトリに無意識にコピーして解決。 どれでもよいわけではないと言われると心配だが、とりあえず

rake generate_secret_token

が動いたのでよしとする。実行したら何もメッセージ出ないでプロンプトが表示されたけど、それって動いたんだよな、多分。便りのないのはよい知らせというし。

ということで、次は

6. migrate。Windows の場合シェルの都合て、Windows版のやり方の通りにやればいいのだが、

set RAILS_ENV=production
rake db:migrate

今度はウザい位メッセージが出まくる。 エンドレスエイトかと思ったが、放置していたら止まったので無問題。

7.

rake redmine:load_default_data

これは一瞬で終わった。 大丈夫かな。言語に ja を選んでしまったが、en のままの方がよかったか、と思ったのは後の祭り。まあどうでもいい。

8. permission は Windows だからパス

9. WEBrick で動作確認。

ruby script/rails server webrick -e production

ok。localhost:3000 でいつもの画面が出た。ここまで来たら後は大丈夫だろう。確かメール設定とかで前回は一悶着あったような気もするが気にしない。

JUGEMテーマ:コンピュータ
| Ruby | 01:28 | comments(2) | trackbacks(0)
Mechanize で Firefox 15.0.1 の user_agent を指定する

Mechanize の AGENT_ALIASES に定義されている user agent は次の通り。

Mechanize
Linux Firefox
Linux Konqueror
Linux Mozilla
Mac FireFox
Mac Mozilla
Mac Safari 4
Mac Safari
Windows IE 6
Windows IE 7
Windows IE 8
Windows IE 9
Windows Mozilla
iPhone

Windows Firefox がない。 そこで、手元の Firefox 15.0.1 からアクセスしたときの内容をパケットをモニタして調べて、 同じものが出るように指定してみた。 @agent は Mechanize.new であらかじめインスタンスをしてあるとして、 次のようなコードで実装できる。

@agent.user_agent = 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1'
JUGEMテーマ:コンピュータ
| Ruby | 20:29 | comments(0) | trackbacks(0)
Ruby の parsedate は1.9から使えなくなったのですね

知らなかった。 ていうか、Date.parse は 1.8 でも使えたっけ? だとしたらなぜ ParseDate ってあったのだろう?

JUGEMテーマ:コンピュータ
| Ruby | 23:06 | comments(0) | trackbacks(0)
 1/3PAGES >>
Powered by "JUGEM"
▲このページの先頭へ
CALENDAR
S M T W T F S
1234567
891011121314
15161718192021
22232425262728
293031    
<< July 2018 >>
NEW ENTRIES
CATEGORIES
ARCHIVES
NEW COMMENTS
NEW TRACKBACKS
LINKS
PROFILE