我在Redmine上创建了issues_controller的控制器钩子。我按照this教程。
问题是我无法访问复选框(我通过视图页面上的钩子创建)值来设置我的控制器变量。按照我的代码
_new_hook.html.erb
<div class="splitcontentright">
<% @user = User.current %>
<b><br><label for="mail_checker_issue"><%= check_box_tag "mail_checker_issue", 1, @user.pref.always_check_email %><%= l(:send_email) %></label></b>
</div>
issues_email_patch.rb
Rails.configuration.to_prepare do
require_dependency 'issue'
class Issue
attr_accessor :mail_checker_issue
end
end
controller_hook.rb
module Redmine_send_emails
module Hooks
class Issues_controller_hook < Redmine::Hook::ViewListener
def controller_issues_new_before_save(context={})
context[:issue].mail_checker_issue = context[:params][:mail_checker_issue]
end
end
end
end
直到我检查钩子工作得很好。我已经调试了应用程序并且它正确地调用了controller_hook
方法,但我找不到我的复选框中的复选框的值。
怎么了?怎么做?
答案 0 :(得分:1)
您没有看到您的复选框值,因为您在labelled_form_for @issue
之前显示它,因此它不属于表单。
你可以放置它here(有两个地方可以挂钩)
您可以尝试实施gem deface
- 我设法在Redmine plugin中使用它。