rails g model data name:text mail:text
dataの複数形で単数形はdatumです。
モデルを用意してバリデーションを設定します。
内容はnameが空でないこととメールがからでないこと
class Datum < ApplicationRecord
validates :name, presence: true
validates :mail, presence: true
end
テーブル設定してマイグレーションします。
2021050293420_create_data.rb
class CreateData < ActiveRecord::Migration[6.0]
def change
create_table :data do |t|
t.text :name
t.text :mail
t.timestamps
end
end
end
ダミーデータを3件ほど入力します。
db/seed.rb
Datum.create(id:1, name:'Taro', mail:'taro@yamada')
Datum.create(id:2, name:'Hanako', mail:'hanako@flower')
Datum.create(id:3, name:'Sachiko', mail:'sachiko@happy')
terminal
rails db:seed
実行します。
terminal
rails g controller data index ajax
コントローラを作ります。
app/controllers/data_controller.rb
class DataController < ApplicationController
def index
end
def ajax
if params[:name] then
data = Datum.where 'name like ?', "%" + params[:name] + '%'
else
data = Datum.all
end
render plain:data.to_json
end
end
jsonデータとしてとり出してrender plainでテキストとして送信します。