Строка меню проекта Redmine исчезла при добавлении нового плагина

Я новичок в разработке для Redmine. Я создал плагин и добавил его в меню проекта. Но когда я перешел на эту вкладку, она не ссылается на нужную мне страницу, и строка меню проекта исчезает. Сложно контролировать всю деятельность по управлению проектами. Что я должен делать?

Это код в моем файле init.rb:

permission :project_plan, { :project_plan => [:index,:show] }, :public => true
menu :project_menu, :redmine_project_plan, { :controller => 'project_plan', :action => 'index' }, :caption => :project_plan_title

person user3227206    schedule 23.01.2014    source источник
comment
расскажи, как ты добавил плагин?   -  person aelor    schedule 23.01.2014
comment
На каком этапе вы застряли и что вы уже пробовали? Можете ли вы опубликовать код?   -  person Zo Has    schedule 23.01.2014
comment
Я создал и добавил плагин в: '$\BitNami Redmine Stack\apps\redmine\htdocs\plugins' следующую инструкцию в: redmine.org/projects/redmine/wiki/Plugin_Tutorial, мой код добавлен в мой вопрос   -  person user3227206    schedule 23.01.2014


Ответы (2)


Я думаю, ваша проблема в том, что вы не указываете project_id в качестве параметра, приведенный выше код должен выглядеть больше как

permission :project_plan, { :project_plan => [:index,:show] }, :public => true
menu :project_menu, :redmine_project_plan, { :controller => 'project_plan', :action ='index' }, :caption => :project_plan_title, :param => project_id 

И на контроллере вам нужно восстановить эту информацию:

@project= params[:project_id]
person melisa.fma    schedule 24.03.2014

Была такая же проблема с моим плагином Redmine, после нескольких часов копания и исследований выяснилось, в чем проблема. Важно обновить переменную @project параметром идентификатора проекта, переданным в ваш метод show. Вот мой файл контроллера:

class YearlyController < ApplicationController
      unloadable
      helper :issues
      include IssuesHelper

      def show
           require_login       
           @project = Project.find(params[:project_id])       
      end
end

И файл init.rb:

Redmine::Plugin.register :weekly do
  name 'Weekly Plan plugin'
  description 'Display weekly plan for current and previous week'
  version '0.0.2'
  menu :project_menu, :yearly, { :controller => 'yearly', :action => 'show' }, :caption => 'Roadmap Year', :after => :overview, :param => :project_id
  menu :project_menu, :weekly, { :controller => 'weekly', :action => 'show' }, :caption => 'Weekly Plan', :after => :yearly, :param => :project_id
  settings :default => { :weeklabel_name => 'Weekly Label' }, :partial => 'settings/settings'
  project_module :weekly do
    permission :view_weekly, :weekly => :show
    permission :view_yearly, :yearly => :show
  end
end
person Vitaly    schedule 31.10.2018