選択した文字/数字で始まるモデル(Nismoと呼ばれる)のすべてのエントリを収集する関数を作成しました。
def showByLetter(letter)
@nismosByLetter = Nismo.all :conditions => ['substr(name,1,1) = ?', letter]
end
これは「Nismo」コントローラーの中にあります。
Nismoコントローラーのインデックスビューには、ユーザーが「B」などを選択できるようにするために使用するアルファベット順のメニューがあります。これにより、showByLetter関数が実行され、その文字で始まるすべてのエントリがページに表示されます。
私の問題は、私のインデックスページでは、これをすべて実現する方法が本当にわからないことです。
<% Array('A' .. 'Z').each do |letter| %>
<%= link_to letter, showByLetter(letter) %>
<% end %>
この「showByLetter」関数の結果を表示するには、新しいview.html.erbファイルを作成する必要があると思います。
私はプログラマティックプログラマーの本から頭を悩ませようとしましたが、ルートを正しくするためにroutes.rbファイルを追加する必要があるかもしれないというコメントをネット上で見ました。
namespace "nismo" do
resources :nismos do
member do
get :showByLetter
end
end
end
これはすべて非常に単純だと確信していますが、混乱していて、いくつかのポインタが必要です。
どんな助けもいただければ幸いです!
ありがとう
アダム