>Environment:
>>Redmine version 3.1.3.stable
>>Ruby version 2.1.5-p273 (2014-11-13) [x86_64-linux-gnu]
>>Rails version 4.2.5
>>Environment production
>>Database adapter Mysql2
>SCM:
>>Subversion 1.8.10
>>Git 2.1.4
>>Filesystem
>>Xitolite 2.1.4
>Redmine plugins:
>>ckeditor
>>clipboard_image_paste 1.9
>>easy_cocoon
>>easy_extensions 2014.06.05
>>easy_alerts 2014
>>easy_attendances 2014
>>easy_budgetsheet 2014
>>easy_calculation 2014
>>easy_contacts 2014
>>easy_crm 2014
>>easy_helpdesk 2014
>>easy_instant_messages 2014
>>easy_knowledge 2014
>>easy_money 2014
>>easy_printable_templates 2014
>>easy_project_attachments 2014
>>easy_quick_project_planner 2014
>>easy_redmine
>>easy_theme_designer 2014
>>easy_to_do_list 2014
>>easy_user_allocations 2014
>>easy_xml_helper 2014
>>easy_baseline 2014
>>easy_gantt 2016.01.1000
>>easy_gantt_pro 2016-RC1.0
>>redmine_bootstrap_kit 0.2.4
>>redmine_git_hosting 1.2.0
错误
Started GET "/redmine/users" for 192.168.50.1 at 2016-02-17 14:35:41 +0100
Processing by UsersController#index as HTML
Current user: admin (id=1)
Rendered plugins/redmine_git_hosting/app/views/users/index.html.erb within layouts/admin (13.7ms)
Completed 500 Internal Server Error in 49ms (ActiveRecord: 3.7ms)
ActionView::Template::Error (undefined method `page_param' for nil:NilClass):
53: </tbody>
54: </table>
55: </div>
56: <p class="pagination"><%= pagination_links_full @user_pages, @user_count %></p>
57:
58: <% html_title(l(:label_user_plural)) -%>
lib/redmine/pagination.rb:157:in `pagination_links_full'
lib/redmine/sudo_mode.rb:63:in `sudo_mode'
采取的步骤:安装了Redmine(一切正常)已安装easyredmine(一切正常)已安装Gitolite3(一切正常)已安装Git_hosting_plugin 1.2.0(哎呀)
我遵循了该插件的入门指南。我的老板希望将该PassengerUser替换为Redmine,因此我将redmine设置为redmine用户帐户。如上所述,redmine用户可以通过SSH与gitolite进行通信。我也没有任何麻烦地设置了sudoers.d / redmine。
一切似乎一开始都可以正常工作,并且登录到localIP / redmine可以正常工作,并且为Redmine用户配置了Passenger。
我的问题是,当我访问redmine / users页面时,它给出了上述错误,并写入了production.log中。我不知道为什么未定义page_param,或者pagination_links_full出了什么问题。我不想在以后更新时由于预期的麻烦而修改ruby文件。
我是刚开始在Linux服务器环境上安装redmine和其他程序的人,对UNIX系统的经验很少,尽管我会说我的理解每天都在增长,这可能是一个白痴的错误。这可能是一个错误。在版本中可能不匹配,其中使用方法的版本A来调用另一段代码的更高版本。可能是必须从某个地方获取信息,而Redmine安装试图在没有适当配置的情况下获取信息。
如果我不得不猜测,我的最佳猜测将是ruby分页文件与其余配置不兼容,应该将其替换为其他版本。
有人可以向我解释这里出了什么问题,或者如何解决这个问题(或最好同时解决这两个问题)?
非常感谢。
雷尼尔
更新(18/02/2016):通过编辑模板,可以再次访问用户页面。<= pagination_links_full @user_pages,@user_count%> </ p->但是,这是一个肮脏的临时修复程序,如果用户数量超过一页,将导致问题。谁可以帮助我找到永久解决方案?
@Jkraemer(19/02/2016)
非常感谢您的反馈。目前,我没有分配任何额外的时间来解决此问题,但我确实根据您的内容进行了研究。顺便说一下,任何以easy_开头的插件都是标准的easyredmine插件,因此该插件列表要比看起来的要小。
具有users / index.html.erb文件的目录:
>/opt/redmine/redmine-3.1.3/app/views/users/index.html.erb
>/opt/redmine/redmine-3.1.3/plugins/easyproject/easy_plugins/easy_extensions/app/views/users/index.html.erb
>/opt/redmine/redmine-3.1.3/plugins/redmine_git_hosting/app/views/users/index.html.erb
>/var/lib/gems/2.1.0/gems/redmine_extensions-0.0.20/spec/redmine/app/views/users/index.html.erb
前两个是redmine和easyredmine,它们在安装redmine_git_hosting插件之前运行良好。最底层的似乎是标准的redmine_extensions宝石。
如果我要比以前做更多有根据的猜测,我会说结合其他安装中没有出现问题的事实,redmine_git_hosting插件似乎是罪魁祸首,或者至少引起与redmine和/或结合的问题easyredmine。它也位于redmine git托管目录和文件中,我在其中通过修改模板文件实施了肮脏的修复程序,从而临时“修复”了该问题。有趣的是,如果简单的一段代码确定要显示多少用户页面(除非您的redmine环境中包含多于一个页面的用户页面)实际上已经过时了,否则它会导致整个用户管理界面被禁用。
插件似乎确实修补了UsersController:/opt/redmine/redmine-3.1.3/plugins/redmine_git_hosting/lib/redmine_git_hosting/patches/users_controller_patch.rb
我修改的模板是错误日志中的模板,因此它已经被构造为使用@user_pages。我还没有时间进一步深入研究用户控制器。您认为修改Users Controller来设置变量,测试其是否能以这种方式工作,然后将问题和建议的解决方案报告给redmine_git_hosting插件的作者是否是解决该问题的最佳方法?
旁注:你们都说过,但是在这种情况下,值得三方提及吗?(redmine / easyredmine / redmine_git_hosting)。如何报告这样的事情?会涉及在他们的论坛上发帖子或向公司发送包含信息的电子邮件吗?我可以想到许多报告方法,但是不熟悉此类程序,并且不知道在明显的可能交流方式之外是否存在标准化的报告方法。我也不知道在将其报告给redmine之前是否应该在没有easyredmine的redmine上对其进行测试。如果我在为Redmine工作,那么请多加注意有关插件可能存在的问题,因此我可以存档潜在问题并测试是否也适用于redmine。来自我老板
再次感谢您动动脑筋。
从错误消息中,我会说@user_pages
渲染视图时为零。看着app/controllers/users_controller.rb
这一点,因为它的索引操作设置不应该是这样的。因此,下一步将是确定您的插件中的一个是否覆盖/修补了UsersController#index或是否弄乱了@user_pages
实例变量。
一个疯狂的猜测是,您安装的另一个插件会带来其自己的版本UsersController#index
(未设置@user_pages
),以及其自身的users/index.html.erb
模板版本(不需要@user_pages
)。仅此一个就已经很糟糕了,但是在您安装git托管插件之前,一切都可能工作,该插件还带来了自己的版本users/index.html.erb
(@user_pages
再次需要,如users/index.html.erb
核心Redmine的原始版本),并且出现了问题。
因此,去grep在您的plugins文件夹中为“ UsersController”添加任何Ruby代码,并检查是否有覆盖的索引操作,并查找名为的文件users/index.html.erb
。如果我的猜测是正确的,并且您找到了另一个有问题的插件,请将该问题报告给两个插件的作者。直到其中至少有一个修复了他们的插件之后,再坚持进行肮脏的黑客攻击,并希望没有其他隐藏的问题(考虑到您的插件列表,这不太可能发生),或者决定丢弃至少一个有冲突的插件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句