我刚接触红宝石,只需运行示例https://guides.rubyonrails.org/getting_started.html#installing-rails
我想修改代码以处理GET请求,如下所示:
对于GET文章?special = false,返回所有文章
对于GET文章?special = true,返回所有包含以下内容的文章: 标题中的“令牌”
箱/铁路路线 文章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
答案 0 :(得分:1)
所以你可以做这样的事情,
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>
我的意思是说,可能性实际上是无限的(我可能也无法完全理解您的问题)。
您应该查看this documentation以获得有关Rails中数据库查询的更多信息,而且我不知道您是否看过Ruby on Rails Tutorial,这是一个很好的起点,并且可能会对您有所帮助(不确定如果您没有仔细阅读)