##マイグレートできていない場合##
rake db:migrate:statusコマンドをターミナルで入力することで何がマイグレートできていないかがupとdawnでわかる。
$rake db:migrate:status
database: pictweet2_development
Status Migration ID Migration Name
up 20170328065038 Create tweets
up 20170328134331 Devise create users
up 20170329021023 Add nikname to users
up 20170329022213 Add user id to tweets
up 20170329030957 Remove name from tweets
down 20170329045124 Create coments
Create commentがdawnなのでファイルを調べ修正し、rails g model commentをしてからrake db:migrateする。
今回はcommentの名前自体をミスしていたため一度削除してから再登録することとした。
##ファイルを消す##
rails d "ファイル名" "データ名"
例:rails d model comment
##ファイル場所の検索①##
ページ上で「tweet」がある場所を探したい場合、『command+F』で候補を出せる。
##ファイル場所の検索②##
『command+shift+F』でページ上でなく、ファイル内全検索できるので、そこからError文の場所を探せる。
また、「ログアウト」の工程が怪しいと思えば日本語で「ログアウト」と検索するのも一つの手。
##Vertion Error##
バージョンが古いというErrorが出た時は、bundle updateしてからbundle installを行えば通常大丈夫だが、gemやruby自体のバージョンに限界がある場合があるため、正規のgemファイルの記載をコピペした後にbundle installで対策を行う。
##HTMLメソッドから追う##
文構成としてrails上ではHTMLメソッドは何が使われるべきかあらかじめ定義されている。
ターミナルにて『rake routs』を入力し「_path」に付随するものを洗い出す。例えば、「destroy_user_session」ならば後ろに「_path」が付いたものがSublime Text上に存在する。htmlメソッドは『rake routs』時に表示される「delite」が後ろにないといけない。sublime上何も記載がなければ「get」になるというのがrailsのルールでもある。
Rails.application.routes.draw do
get'tweets' => 'tweets #index'
パス コントローラ名 アクション名
end
tweets.controller
class Tweetscontroller < Applicationcontroller