ruby-on-rails - 如何处理带参数的 GET 请求
问题描述
我是 ruby on rails 的新手,只需运行示例https://guides.rubyonrails.org/getting_started.html#installing-rails
我想修改代码以处理 GET 请求,如下所示:
对于 GET 文章?special=false,返回所有文章
对于 GET Articles?special=true,返回标题中包含“token”的所有文章
bin/rails 路由文章 GET /articles(.:format) 文章#index
===app/controllers/articles_controller.rb
class ArticlesController < ApplicationController
def index
@articles = Article.all
end
=== app/views/articles/index.html.erb
<% @articles.each do |article| %>
<%= article.title %>
<%= article.text %>
<%= link_to 'Show', article_path(article) %>
<% end %>
============routes.rb=====
Rails.application.routes.draw do
get 'welcome/index'
resources :articles
root 'welcome#index'
end
解决方案
所以你可以做这样的事情,
def index
@articles = Article.all
@some_articles = @articles.select {|article| article.title == 'SOME STRING'}
end
那么你的观点你可以创建第二个循环
<div>
<% @articles.each do |article| %>
<%= article.title %>
<%= article.text %>
<%= link_to 'Show', article_path(article) %>
<% end %>
</div>
<div>
<% @some_articles.each do |some_article| %>
<%= some_article.title %>
<%= some_article.text %>
<%= link_to 'Show', article_path(some_article) %>
<% end %>
</div>
我的意思是真的可能性是无限的(我可能也无法充分理解你的问题)。
您应该查看此文档以获取有关 Rails 中数据库查询的更多信息,我不知道您是否看过Ruby on Rails 教程,这是一个很好的起点,可能会对您有所帮助(不确定您是否已通读)
推荐阅读
- java - 无法访问自定义安全表达式中的 UserRepository 属性
- scala - 使用scala将字符串值转换为映射
- c++ - C++ 联合成员访问和未定义行为
- nginx - Nginx如何阻止直接访问文件
- javascript - 如何克隆基于 div 的选择选项
- html - 在 CSS 中制作加号
- angular - 我是否应该为按钮设置单独的 Angular 组件,即使它们被重复使用?最佳实践问题
- matlab - 如何找到导致特定函数输出的参数的最小值
- c++ - Mosquitto.h 不是这样的文件或目录
- fastlane - 我用fastlane上传到Beta,我把promote_to_track