プロジェクトとカテゴリの has_and_belongs_to_many 関係を持つ 2 つのテーブルがあります。
次のように、views/projects/new.html.erb にすべての Project レコードをリストします。
<% @projects.each do |project| %>
<tr class="project <% project.categories.all.each do |cat| %><%= cat.name %> <% end %>">
<td><a href='project/<%= project.id %>'><%= project.filename %></a></td>
<td><%= project.author %>
<td><% project.categories.all.each do |cat| %><%= cat.name %>, <% end %></td>
</tr>
<% end %>
そして、いくつかの link_to リモート リンクを次のように定義しました。
<div class="filterBy">SORT BY:</div>
<div class="filterBy"><%= link_to "Category", :update => "projects", :url => { :action => "sortTable", :filter => "Category" }, :remote => true %></div>
<div class="filterBy"><%= link_to "Author", :update => "projects", :url => { :action => "sortTable", :filter => "Author" }, :remote => true %></div>
<div class="filterBy"><%= link_to "Date", :update => "projects", :url => { :action => "sortTable", :filter => "Date" }, :remote => true %></div>
そして私のprojects_controllerには私が持っています
def sortTable
@projects = Project.find(:all, :order => params[:filter])
end
リンクをクリックしても何も起こりません。私は何を間違っていますか?ページも更新せずに更新したい。必要に応じて、routes.rb は次のようになります
Docside::Application.routes.draw do
resources :projects
resources :categories
#get "home/index"
root :to => "projects#new"
match 'project/new',:controller=>"projects",:action=>"create"
match "project/:id", :controller => "projects", :action=>"download"
end