LoginSignup
3
1

More than 5 years have passed since last update.

【初心者歓迎!】Ruby on Railsもくもく会@新橋 に参加させていただきました

Posted at

今日やることと動機

最近、Reactを始めた(とりあえずReactTutorialを終えたくらい)ので、TodoListのアプリケーションのフロント側を作ってる。
APIでDBからデータを引いてきて画面に表示したい。
せっかくなのでRailsで実装してみることにした。

成果

APIモード

Rails5には"APIモード"なるものがあるらしいので使ってみる。

rails new application --api

ディレクトリ構成も従来よりシンプル。
標準でjsonResponseを返却するようになっている。

とりあえず試してみた。

bundle exec rails scaffold task
rails s

http://localhost:3000/tasks
にアクセス。

jsonのレスポンスが帰って来てるのが確認できた。
(やりたいことがほぼ一瞬で終わった。)

DBをMysqlに変更する

Gemを入れる。

/Gemfile
gem 'mysql2'

config/database.ymlに以下を記述

/config/database,yml
default: &default
  adapter: mysql2
  encoding: utf8
  pool: 5
  username: root
  password: rd384ktk
  host: localhost
  timeout: 500

React側からリクエストを送信する

http://localhost:3000/tasks
にPOSTする。

データをインサートできる。

seedデータを分割する

bundle exec rails db:seedで実行されるseedingをModel毎に分けたいので仕組みを追加。

db/seeds.rbに以下を記述

db/seeds.rb
development_seed_files = Dir[ Rails.root.join('db', 'seeds', '*.rb') ].sort

ActiveRecord::Base.transaction do
  development_seed_files.each do |file|
    load(file)
  end
end

これでdb/seeds配下のファイルを一括で投入できる。

3
1
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
3
1