내가 레드 마인에 대한 특정 문제를 해결하기 위해 필요한 플러그인,하지만 난 특히 레일에 루비와 루비에서 뉴비를 해요.레드 마인 사용자 프로젝트의 우선 순위는
내가 필요한 것.
Redmine에 일부 개발자가 있습니다. 각 개발자 (= 사용자)에 대해 (홈페이지 및 MyPage에) 누군가가 지정한이 사용자의 프로젝트 우선 순위를 표시해야합니다. 예 :
Jhon:
---
1. Project1
2. Project2
...
Mary:
---
1. Project2
2. Project23
3. Project1
...
The solution i see is the following (assuming plugin is called
UserProjectPrios
).
모델. 테이블 user_project_prios
을 만듭니다
- USER_ID (FK : 사용자)
- PROJECT_ID (FK : 프로젝트)
- 프리 오 (int)를
모델 만들기 (단지로 시작하는 것과는 무관 보일 수 있습니다 RnR :)
class UserProjectPrio < ActiveRecord::Base
belongs_to :user
belongs_to :project
attr_reader :project, :prio
def initialize (project_id, prio)
@project = Project.find(project_id)
@prio = prio
end
def self.get_user_projects(user_id)
user_project_prios = []
self.find_by_user_id(user_id).each do |up|
user_project_prios.push(self.new(up.project_id, up.prio, up.enum_issueprio_position))
end
user_project_prios
end
end
컨트롤러. 나는 후크를 사용할 수있는 홈 페이지를 알고 있습니다. like so
class Hooks < Redmine::Hook::ViewListener
def view_welcome_index_left (context = {})
context[:user_name] = User.current.name;
context[:user_project_prios] = UserProjectPrio.get_user_projects(???user_id???);
context[:controller].send(:render_to_string, {
:partial => "hooks/user_project_prios/user_project_prios",
:locals => context
})
end
end
이제 문제는 user_id입니다. Redmine의 Class User는 공개 ID가 아닌 것으로 보입니다. 그래서 현재 유저의 UserProjectPrios
님을 어떻게 찾을 수 있습니까?
또는 내가 잘못된 방법으로 정말이야 ...?
글쎄, 나는 그 사용자 ID가 잘못되어있어. 그냥 User.current.id. 그러나 중요한 질문은 남아 있습니다 : 더 나은 해결책이 있습니까? –