Я начинаю разрабатывать простой плагин Redmine, который позволит пользователю редактировать и сохранять специальное поле Redmine Issue. Я совершенно новый для Rails и для написания плагинов Redmine, поэтому, пожалуйста, извините меня, если это очень простой и простой вопрос для ответа.Отправить табличную форму и передать хэш контроллеру
Что я до сих пор представляет собой таблицу, в которой отображаются выпуски данного продукта и версии, а также другие настраиваемые поля. Пожалуйста, смотрите изображение здесь:
То, что я хотел бы сделать, это изменить настраиваемое поле «Примечание Описание» (внутри текстовой области), и когда я попал в «Сохранить изменения» Я хотел бы для отправки контроллеру хеш со всеми полями этой формы (включая Идентификатор проблемы и Описание примечания к проблеме), всякий раз, когда для данной строки щелкнул галочку. Затем контроллер получит новые описания для данного номера проблемы и обновит поле «Примечание» с новой строкой, введенной пользователем.
Вот соответствующие фрагменты кода.
index.html.erb:
<h3>Changelog</h3>
<table>
<%= form_tag(controller: "polls", action: "save", method: "get",
project_id: @project, id: @version_selected_combo) do %>
<tr>
<th class="checkbox"></th>
<th class="tracker">Tracker</th>
<th class="issue">Issue ID</th>
<th class="status">Status</th>
<th class="description">Note Description</th>
<th class="subject">Subject</th>
</tr>
<% @improvement_issues.each_with_index do |issue, index| %>
<tr>
<td class="checkbox"><%= check_box_tag 'issue_checkbox' %></td>
<td class="tracker"><font color="LimeGreen">
<%= issue.to_s.split(' ').at(0) %></font></td>
<td class="issue">
<%= label_tag(:issue_id, issue.to_s.split(' ').at(1)[1..-2]) %></td>
<td class="status"><%= @improvement_issues_descriptions[index] %></td>
<td class="description">
<%= text_area_tag(:transfer_note_description,
@transfer_notes_descriptions[index],
:cols => "100", :rows => "1") %></td>
<td class="subject"><%= sanitize issue.to_s.partition(': ')[2] %></td>
</tr>
<% end %>
<tr>
<td><%= submit_tag("Save changes") %></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<% end %>
</table>
Как вы можете видеть, я использую форму Helper внутри таблицы, я не знаю, если это правильный или лучший способ сделать это.
polls_controller.rb:
def save
p params
end
Это просто метод вызывается после нажатия на кнопку "Сохранить изменения".
В журнале я получаю, если я проверю как чек-боксы является следующее:
[ 2014-10-21 15:55:21.2754 21609/7f0234d4e700 Pool2/Implementation.cpp:1291 ]: [App 21695 stdout] {"utf8"=>"✓", "issue_checkbox"=>"1", "transfer_note_description"=>"description for the note here", "commit"=>"Save changes", "id"=>"trunk", "method"=>"get", "project_id"=>"sandbox", "action"=>"save", "controller"=>"polls"}
Я не в состоянии послать контроллер описаний нот и номер выпуска.
У меня нет модели, потому что мне она не нужна, так как все данные уже находятся в базе данных redmine. Когда пользователь отправляет форму, я хочу, чтобы контроллер получил хэш с номером проблемы и описанием примечания к проблеме.
Я хочу использовать рельсы как можно больше, и поэтому я не хочу использовать javascript, если я могу его избежать.
Любая помощь будет приветствоваться. Спасибо заранее за ваше время.