Translate

BTemplates.com

Powered by Blogger.

2018年6月29日金曜日

2018-06-28、29 到達点メモ


Gitにコミットしたら、ユーザー名が実名だったので
よく使っているハンドルネームに変えたい場合の手法
*コミットしたデータを変えるわけではないことに注意

以下の内容をシェルスクリプトではなく
きちんと入力する必要がある

git config --global user.name "yourname"
git config --global user.email yourname@yourname.yourname

参考サイト
Gitでユーザを確認・変更する手順

コミットしたすぐのものを見たい
git diff HEAD^

参考サイト
忘れやすい人のための git diff チートシート

rails db:migrateでDBファイルを作るとのことだが
rake db:migrateじゃなかったけ?
と思ったら、案の定Rails5以降はrails db:migrateになったとのこと
微妙にrakeって何なんだろうなと思っていたが、
どうやらUnixのmakeのruby版から来ているらしい
ナルホドナー

参考サイト
コラム 2.1. Rake

UserIDを設定する際に
Users must exist
というエラー文が出るので何が原因なんだろうと調べていたら
単にbelongs_to :users
と複数形にしていただけだった。
正しくは、belongs_to :userである

リスト 2.17: Userモデルに存在性のバリデーションを追加する
に挑戦したら以下のようなエラーが出た

undefined local variable or method `email' for User

当時の回答
user.rb
class User < ApplicationRecord
    has_many :microposts
    validates name, presence: true
    validates email, presence: true
end

emailは定義されているし
validates email, presence: trueを消すと
通るし、validates name, presence: trueを消すと逆に通らないけど
何でなんだろうなと調べたところ

user.rb
class User < ApplicationRecord
    has_many :microposts
    validates :name, presence: true
    validates :email, presence: true
end

この部分が無かったのが原因でした。
これがないと変数あつかいになるとのこと
言われてみれば確かにそうでしたね……

しかし、nameが通った理由はいまいちわからない……
参考サイト
Railsチュートリアル exerciseに関して

しかし、我ながらまずいなこれは……。

第二章終了。

……なんか普通にHerokuで動いたんですがそれは
いや、いい事なんですが前回は何で動かなかったんだろうか?
考えられる理由は二つ
本命:heroku run rails db:migrate を使わなかったため。
理由は、これをやる前usersのページにアクセスしたら
エラーになったため。
対抗:bundle install --without production を使わなかったため
理由は、このコマンドが本番に関係するコマンドの為
 --without production を省いてコマンド打った可能性がある為

以前の記事を見る限りだと、どっちもやっていないように見える。
追記と書き直しが必要そうですね……

次回は第三章から

Udemyでnode.jsの勉強しているのだが
Syncって日本語に訳すと同期という意味になる
非同期処理とかでSyncがやたらでてくるのはそれか……。

以下はkotlinでの話

classの取得する方法を良く忘れるので再度メモ
HogehogeActivity::class.java

参考サイト
KotlinでIntentを用いた画面遷移


class HogehogePreferenceActivity : PreferenceActivity {
//(以下略)

上記のように書くとPreferenceActivityの部分で下記のようなエラー文が出ます

This type has a constructor and this must be initialized here

対処方法を簡単に述べると以下のようにします
class HogehogePreferenceActivity : PreferenceActivity() {
//(以下略)

参考サイト
This type has a constructor and must be initialized here - Kotlin

プリファレンスの書き方を忘れたので
以下のサイトを参考にして書いた

参考サイト

今日はここまで

0 コメント:

コメントを投稿