【发布时间】:2013-12-08 10:32:45
【问题描述】:
我的 Rails 应用中有这个索引方法
def index
@articles = if params[:user_id]
user = User.find(params[:user_id])
user.articles.page(params[:page]).per_page(5)
else
@articles = current_user.articles.page(params[:page]).per_page(5)
end
end
这让我可以通过“/users/1/articles”之类的路线限制用户发布的帖子......一切都很好......
但我还想在文章内容上添加简单的单一过滤器,这样我就可以限制具有如下路径的文章:
/users/1/articles/foo 和 /articles/foo
其中 foo 是在文章内容字段上的搜索。有大量关于添加搜索的教程,但我不知道如何使它们与现有方法一起使用。另外,我不需要搜索表单或单独的搜索路径。
【问题讨论】:
-
您的
else不应包含@articles =。放置@articles = if...的全部意义在于,无论哪个分支执行,结果都将分配给@articles。你基本上已经写了你的 else 来做@articles = @articles = current_user....。
标签: ruby-on-rails ruby-on-rails-4