サンプルというモデルがあります。簡単にするために、「サンプル」には「名前」、「価格」、および「承認済み」フィールドがあります。
「承認済み=「偽」」のすべてのサンプルをリストするページが必要です。このページでは、サンプル フィールドを編集し、完了したら承認済みチェックボックスをオンにし、フォーム ボタンを押して、選択したすべてのサンプル フィールドを承認できるようにしたいと考えています。
Railscast #198 を見ましたが、避けたい前のページがあります... 彼はすべてのサンプルをリストした Web ページを持っていて、編集したいものをチェックし、最終的に「個別編集」ページにアクセスしました。このページをスキップして、承認ページに直接移動したいです。
私のサンプルコントローラーには次のものがあります:
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」にアクセスしようとしましたが、「Couldn't find Sample with id=edit_individual」というエラーが表示されました。
誰でも私を助けることができますか?この「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}