0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

検索機能実装ができる Rails 全3回(3/3)

Last updated at Posted at 2019-11-17

この記事では、Rails 5.2.3を使用した内容となっています。
WEBアプリを作成する上で必須となる機能なので、活用しましょう!
全3回にわけて記載しています。 これは、3/3ページです。

下記のリンク先が検索フォームに関する全3回のページです。
[検索機能実装ができる 1 / 3ページ]
(https://qiita.com/NishiguchiHiroki/items/9a8c55e3c248f565da1f)
検索機能実装ができる 2 / 3ページ

##概要
・7つのアクションで検索機能を実装する
・コントローラーを作成する
・コントローラーを編集する
・ルーティングを設定する
・ビューを作成する
####7つのアクションで検索機能を実装する
可読性やMVCの観点から、7つのアクションを利用して開発する方が推奨されている
書き方になりますので、7つのアクションで仕上げるのがいいと思います。

####コントローラを作成する

1 # 名前空間(tweets)を付けてコントローラーを作成する
2 $ rails g controller tweets::searches
#####名前空間(namespace)
同様のクラス名を名付けたクラスであってもそれらを区別することができます。
分割するために付けられる識別名を名前空間と呼びます。

####コントローラーを編集する

controllers/tweets/searches_controller.rb
class Tweets::SearchesController < ApplicationController
  def index
    @tweets = Tweet.search(params[:keyword])
  end
end

####ルーティングを設定する

config/routes.rb
Rails.application.routes.draw do
  devise_for :users
  root to: 'tweets#index'
  namespace :tweets do
    resources :searches, only: :index
  end
  resources :tweets do
    resources :comments, only: :create
    collection do  # この行は削除する
      get 'search'  # この行は削除する
    end  # この行は削除する
  end
  resources :users, only: :show
end

注意点として、必ずnamespaceメソッドの記述は、resources :tweets do
よりも上に書きましょう
コードは上から読み込まれるので、①検索 ⇨ ②検索内容を探すの順番と
して覚えておきましょう。
#####最後にフォームのPrefixの指定はお間違えなく!

                   

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?