我试图在Active Admin资源的:index视图中创建一个简单的侧边栏,该资源有两个文本输入和按钮。我按下按钮会触发一个collection_action,但是我无法弄清楚如何将两个输入的值都放入collection_action中。以下是我为侧边栏渲染的部分内容:
<form accept-charset="UTF-8" action="/admin/earned_points" class="filter_form" id="new_e" method="get">
<div class="filter_form_field filter_string search">
<label class="label" for="email">Email:</label>
<input type="text" id="email" />
</div>
<div class="filter_form_field filter_string search">
<label class="label" for="filename">File Name:</label>
<input step=any" type="text" id="fileName" placeholder="EarnedPointData" />
<a href=<%= export_admin_earned_points_path(controller.params) %>>
<input style="margin-top:15px" type="submit" id="Export" value="Export"/>
</a>
</div>
</form>
我很少进行网络开发,所以如果这看起来像是一个非常基本的问题,我会道歉。任何帮助将不胜感激。
谢谢
更新:
原来我的结构都很糟糕。感谢nistvan指出我应该能够将它们从params拉出来。从那时我意识到我需要更好地设置我的表单。我最终使用嵌入式ruby来做到这一点。以下是我最后的部分内容。
<%= form_tag export_admin_earned_points_path, method: :get do %>
<%= label_tag(:email, "Email:") %>
<%= text_field_tag(:email, nil, placeholder: 'your@email.com' ) %>
<%= label_tag(:filename, "File Name:") %>
<%= text_field_tag(:filename, nil, placeholder: 'EarnedPointsData') %>
<%= submit_tag("Export") %>
<% end %>
答案 0 :(得分:1)
您可以通过params(hash)变量到达controller_action中传递的参数。 如果在控制器操作中引发错误,可以检查params的外观:
raise params.inspect