Tracからimportしたプロジェクトのissues listがこけた
importした後に更新したissueをlist表示させようとしたら、こんなエラーが
Processing IssuesController#index (for 203.141.159.113 at 2010-04-20 10:59:29) [GET] Parameters: {"project_id"=>"axyz-conductor", "action"=>"index", "controller"=>"issues"} Rendering template within layouts/base Rendering issues/index.rhtml ActionView::TemplateError (undefined method `-' for nil:NilClass) on line #16 of app/views/issues/_list.rhtml: 13: </tr></thead> 14: <% previous_group = false %> 15: <tbody> 16: <% issue_list(issues) do |issue, level| -%> 17: <% if @query.grouped? && (group = @query.group_by_column.value(issue)) != previous_group %> 18: <% reset_cycle %> 19: <tr class="group open"> app/helpers/issues_helper.rb:28:in `issue_list' app/helpers/issues_helper.rb:23:in `each' app/helpers/issues_helper.rb:23:in `issue_list' app/views/issues/_list.rhtml:16:in `_run_rhtml_app47views47issues47_list46rhtml_locals_issues_list_object_query' app/views/issues/_list.rhtml:1:in `_run_rhtml_app47views47issues47_list46rhtml_locals_issues_list_object_query' app/views/issues/index.rhtml:62:in `_run_rhtml_app47views47issues47index46rhtml' app/controllers/issues_controller.rb:80:in `index' app/controllers/issues_controller.rb:79:in `index' thin (1.2.2) lib/thin/connection.rb:76:in `pre_process' thin (1.2.2) lib/thin/connection.rb:74:in `catch' thin (1.2.2) lib/thin/connection.rb:74:in `pre_process' thin (1.2.2) lib/thin/connection.rb:57:in `process' thin (1.2.2) lib/thin/connection.rb:42:in `receive_data' eventmachine (0.12.8) lib/eventmachine.rb:242:in `run_machine' eventmachine (0.12.8) lib/eventmachine.rb:242:in `run' thin (1.2.2) lib/thin/backends/base.rb:57:in `start' thin (1.2.2) lib/thin/server.rb:156:in `start' thin (1.2.2) lib/thin/controllers/controller.rb:80:in `start' thin (1.2.2) lib/thin/runner.rb:174:in `send' thin (1.2.2) lib/thin/runner.rb:174:in `run_command' thin (1.2.2) lib/thin/runner.rb:140:in `run!' thin (1.2.2) bin/thin:6 /usr/local/bin/thin:19:in `load' /usr/local/bin/thin:19
見てみると、list表示対象のissueのなかにlft, rgtがnilのものが存在していた。この属性はどうもawesome_nested_setというプラグインで使用している模様。どんなものかは分からないけれどおそらく、nestしたsetを扱えるのであろう。
とりあえず、他のissueと同じ値(lft = 1, rgt = 2)をpsqlで直接変更して凌いだ。ちなみにAR経由でいくとRubyのコードで保護されているのでなかなか上手くいかない(#sendが失敗したのですぐ諦めた).