我有一个名为样本的模型。为简化起见,“sample”将有“name”、“price”和“approved”字段。
我想要一个页面来列出所有“已批准 = 'false'”的样本。在此页面中,我希望能够编辑示例字段,完成后选中已批准的复选框,然后按表单按钮批准所有选定的示例字段。
我看了 railscast #198 但它有一个我想避免的前一页......他有一个列出所有样本的网页,然后检查他想要编辑的那些,然后他终于可以访问“编辑个人”页面。我想跳过这个页面,直接进入批准页面。
在我的示例控制器上,我有:
def edit_individual
@samplestoapprove = Sample.where(:approve => 'false')
end
在我的 routes.rb 我有:
resources :samples, :collection => { :edit_individual => :post, :update_individual => :put }
如果我们现在忽略控制器上的“update_individual”代码,然后我在示例中创建了一个视图,只是为了检查我是否可以列出未批准的示例。我称之为“edit_individual.html.erb”
<% title "Edit Samples" %>
<%= form_tag update_individual_samples_path :method => :put do %>
<%= for sample in @samplestoapprove %>
<%= fields_for "samplestoapprove[]", sample do |f| %>
<h2><%= f sample.id %></h2>
<%= end %>
<%= end %>
<p><%= submit_tag "Approve" %></p>
<%= end %>
然后我尝试访问“localhost:3000/samples/edit_individual”,但出现错误“找不到带有 id=edit_individual 的示例”
谁能帮我?我想在菜单上有一个名为“Approve”的选项,并带有指向此“edit_individual”的链接,当我单击它时,它会显示所有要使用前面提到的表格批准的样本......这很容易实现吗?我走在正确的道路上?
还是我应该选择数据网格之类的东西?例如http://www.tutorialized.com/tutorial/Editable-Datagrid-for-Ruby-on-Rails-Built-with-dhtmlxGrid/60309
这是我的 routes.rb 上与此问题相关的代码:
resources :samples, :collection => { :get => :edit_individual,
:update_individual => :put}