由于您的问题没有重点,让我假设您的问题的一部分。
假设
- 您在 app/controllers/ 中有一个控制器名称 movies_controller.rb
- 文件夹您在 app/models 文件夹中有一个名为 movie.rb 的模型
然后你应该告诉 Rails 将带有路径 /movies 的请求路由到 movies_controller.rb。这可以通过在 config/routes.rb 中添加以下行来完成
resources :movies
如果您调用 www.something.com/movies,这将调用 movies_controller.rb 中的方法索引。所以你应该写一些代码来在这里显示电影。
class MoviesController < ApplicationController
def index
@movies = Movie.all
end
end
然后你应该使用 app/views/movies/index.haml 文件来显示电影。有一个链接可以按标题对电影进行排序。
link_to "Sort by title", movies_path(:sort=>"title")
不,当单击链接时,用户现在将使用参数到达相同的索引方法。您可以获得如下所示的排序值。
params[:sort]
所以要支持排序,您需要稍微更改控制器代码。
class MoviesController < ApplicationController
def index
if params[:sort]
@movies = Movie.order('#{params[:sort]} ASC')
else
@movies = Movie.all
end
end
end
我强烈建议您在提问之前浏览http://guides.rubyonrails.org/index.html 。