Контролируйте видимость флажка для пользователей

Я работаю над плагином для расширения возможности вложения файлов в redmine.

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

Я полный нуб в рубине. Это то, к чему я пришел после обращения к некоторым другим плагинам и документации redmine.

в плагинах/myplugin/app/view/attachments/_form.html.erb

<% if view_private_attachment = User.current.allowed_to?(:view_private_attachments, @project) %>
<%= check_box_tag :private_attachment, true, false %>
<%= label_tag :private_attachment, 'Private Attachment', :style => 'font-weight:bold;' %>
    <% end %> 

В плагинах/myplugin/app/init.d

Redmine::Plugin.register :myplugin do
  name 'myplugin'
  author 'njan'
  description 'This is a plugin for Redmine'
  version '0.0.1'
  url 'http://example.com/path/to/plugin'
  author_url 'http://example.com/about'


project_module :issue_tracking do
 permission :view_private_attachments, { }

end
end

Флажок не отображается.


person born    schedule 19.03.2013    source источник


Ответы (1)


Вы можете использовать свойство отключения и только для чтения флажка в зависимости от вашего состояния.

<%= f.check_box :private_attachment, :disabled => true, :readonly => true %>
person Ganesh Kunwar    schedule 19.03.2013
comment
на самом деле я хотел ограничить видимость флажка. т. е. некоторые пользователи с правами просмотра могут видеть флажок, а другие — нет. - person born; 19.03.2013
comment
если вы хотите ограничить видимость, используйте условие if в зависимости от условия. - person Ganesh Kunwar; 19.03.2013
comment
ой, извините, ребята, я перепутал роли и разрешения. На самом деле то, что я сделал, было правильно. Потратил на это минимум 4 часа! Джи-э-э-э-э. - person born; 19.03.2013