2009-12-11

ezFAQを入れてみました (Redmine0.8.7)

現在稼動中のRedmineを、0.8.7にアップデートするために、いろいろ動作確認をしています。Redmine本体は問題ないのですが、心配なのはPluginまわりです。

今回は、r-labsで提供されている、Redmine0.8x対応の ezFAQ を組み込もうと、プラグイン追加の処理を行いました。
(※ezFAQ本家のtrunkは、Redmineのtrunk / 0.9x のみの対応です)

さて、動作確認をしたところ…。

新規投稿のところで、いきなりエラーが発生してしまいました(^^;
画面には特にエラーメッセージが出ずに、『真っ白』…。

しかし、前の画面に戻って、FAQの一覧表示画面を参照すると、ちゃんとFAQのエントリは作成されています。

production.log に表示されたエラーは、以下の通りです。

ActionView::TemplateError (Translation value "FAQ %s は %s によって更新されました。" with arguments [{:title=>"#11", :author=>#<User id: 3, login: “…….", hashed_password: "", firstname: "xx", lastname: "xxx", mail: "xxxxx", mail_notification: false, admin: true, status: 1, last_login_on: "2009-xx-xx 08:35:37", language: "ja", auth_source_id: 2, created_on: "2008-02-14 13:31:34", updated_on: "2009-xx-xx 09:26:19", type: nil>}] caused error 'too few arguments') on line #1 of faq_mailer/faq_add.text.html.rhtml:
1: <%= l(:text_faq_added, :title => "##{@faq.id}", :author => @faq.author) %>
2: <hr />
3: <%= render :partial => "faq_text_html", :locals => { :faq => @faq, :faq_url => @faq_url } %>

    vendor/plugins/gloc-1.1.0/lib/gloc-internal.rb:93:in `_l'
    vendor/plugins/gloc-1.1.0/lib/gloc.rb:19:in `l'….

 

どうやら、メール送信用のテンプレートでエラーが発生している模様。素直にメッセージを読むと、Transrationのための引数が足りてない、とのことです。でも、前後のソースを読むと、引数は足りているっぽい。

どうしたものかしら…と思ったのですが、このエラーは新規登録の時だけで、更新の場合にはエラーが出ていません。(更新の場合も、models/faq_mailer.rb でメール送信の処理を行っています)

ja.ymlなどの言語ファイルを見ても、更新と新規登録の際のフォーマットはほとんど同じ。

なぜだろう…と思って、views/ 以下のファイルを比べてみたところ、微妙な違いがありました。

  1. faq_add.text.html.rhtml
    <%= l(:text_faq_added, :title => "##{@faq.id}", :author => @faq.author) %>
  2. faq_update.text.html.rhtml
    <%= l(:text_faq_updated, "##{@faq.id}", @faq.author) %>

こちらを、後者(2)のように治したところ、ひとまずエラーが回避できました。Railsの多言語化のところでひっかかったのだろうなあ..。とは思うのですが、同じRedmien0.8.7を使っていても、エラーになるのは私だけかもしれません。(ちなみに、ezFAQのtrunkでは、(1)の記載で統一されています)

ちゃんとRORを理解せずに使いだしたので、これはいけないなあ…と思い始めた今日この頃です….。

1 件のコメント:

  1. ありがとうございます。直して再登録しました。Akikoさんの修正方法で正しいです。

    返信削除