【发布时间】:2015-05-29 08:25:39
【问题描述】:
在 Rails 3 项目中,我有一个 costprojects 的索引列表。
我有一个名为“viewprojects”的控制器操作。
我想在索引列表中添加一个复选框列。然后让用户选择哪些项目应该包含在 pdf 中。
索引:
<% @costprojects.each do |costproject| %>
<tr>
<td><%= check_box_tag "costproject_ids[]", costproject.id %></td>
...
<%= link_to 'PDF Selected', costprojects_viewprojects_path(:format => "pdf",:costproject_ids => costproject_ids[] ), :class => 'btn btn-success', :target => "_blank" %>
控制器:
def viewprojects
@costprojects = params[:costproject_ids]
respond_to do |format|
format.html
format.pdf do
render :pdf => "costprojects.pdf",
:show_as_html => params[:debug].present?,
:page_size => 'letter'
end
end
end
我明白了:
undefined local variable or method `costproject_ids'
更新1:
试过了:
def viewprojects
@costprojects = params[:costproject_ids[]]
...
<%= link_to 'PDF Selected', costprojects_viewprojects_path(:format => "pdf",:costproject_ids[] => costproject_ids[] ), :class => 'btn btn-success', :target => "_blank" %>
我得到“错误数量的参数(0 代表 1..2)”
需要添加form_tag和submit_tag吗?
感谢您的帮助!
【问题讨论】:
-
params['costproject_ids[]'] 试试?
-
我把link_to和控制器改成了
:costproject_ids[],得到了wrong number of arguments (0 for 1..2) -
为什么你使用link_to,你可以使用表单提交输入?
标签: ruby-on-rails