回る男の備忘録

どこかでプログラム書いてシャニマスして野球見てTwitterやってる人間の駄文

【Rails】image_tagを利用してpublic配下の画像ファイルを表示させる

非常に単純に実装できます。

実装方法

単純にパスの指定を/から始めるだけです。

image_tag "/hogehoge/fuga.jpg"

みたいな感じでいけます。

Laravelだったらシンボリックリンクが必要だったような気がしたので、その点楽ですね。

ところで、image_tagヘルパーで実現できるのは分かったのですが、わざわざヘルパーを利用する必要ってあるのかな?って
何回か思ったりしていたりしています笑

【Git】git commitを知りたいだけの話

git commit
よく使うから色々と知りたいのです。

commitとはなんや

ステージングに追加している変更をローカルリポジトリへ記録や保存を行うコマンドです。

commitのオプション

再びITmedia様の記事を参考にしています。
ITmedia様のページの方がしっかりまとまっています。

-a

git addコマンドの操作を省略して、変更済みファイルをコミットする。

-m "メッセージ"

コミットメッセージを指定可能。

-C "メッセージ"

コミットメッセージを、指定したコミットから読み出す。
その際、エディタが起動するらしい。

-t ファイル

コミットメッセージ用テンプレートを指定したファイルから読み出す。
こんなコマンドがあるのか・・・

使いそうなのはこれくらいかな?

【Git】git addを知りたいだけの話

今まで漠然と使ってきたgit add
オプションを理解したいからまとめるだけです

addはなんや

変更したファイルをステージングに追加するコマンドです。
ステージングはファイルをコミットできる場所って覚えてもらえればいいですかね。

詳しいことは各自調べましょう。

addのオプション

ITmedia様の記事を参考にしています。

-A

Git管理対象外のファイルも含め、全てのファイルをステージングに追加

-u

Git管理対象の変更ファイルを全てステージングに追加

-p

変更ファイル個々の変更箇所を確認しながらステージングに追加

-e

変更内容の編集

-f

.gitignoreで指定している除外ファイルもステージングに追加

使いそうなものを列挙

どうでもいいけど

ステージングとかインデックスって呼ばれてるけど、違いって何かあるですかね?
どっちも同じような意味で捉えてるのですが

【Ruby】ディレクトリが存在するか確認

Railsで画像アップロードするときにディレクトリ有無を確認したかったので導入

File.directory?(確認したいディレクトリパス)

これでアップロード先のディレクトリ有無を確認できました。
また、ディレクトリが存在しない場合、ディレクトリを作成するようにしました。
以下の通り、実装が可能です。

Dir.mkdir("作成したいディレクトリのパス")

これで登録が可能です!
しかし、これでやるとパーミッションの設定が必要らしいので後で見直しが必要かもしれません・・・

でもRuby標準機能でディレクトリの作成等が出来るので中々に便利だと思いました。

【Ruby】画像をアップロードしたい場合

Railsで画像アップロード機能を作成するときにどんな方法があるかな?と調べたら、Rubyの機能で保存できそうです。

方法

File.binwrite("保存したい画像のパス", "アップロードした画像ファイル".read)

保存した画像のパスは、ファイル名を付与した状態で設定が必要です。

Railsだと以下のような感じですかね

File.binwrite("public/ファイル名", "アップロードした画像ファイル".read)

こんな感じでアップロードはいけます。

実際に公開するときはS3などを使うと思いますが、知識不足のため必要になったらまとめようかな?

【Git】コミットをミスったとき

コミットをミスったことにすぐ気づいたことがあった。
そのときに以下のようなコマンドを入力することで、コミットを無かったことにできます。

git reset --hard HEAD^

よっしゃあ!コミット取り消したぞ!!!と思ったら、このコマンドって直前のコミットにインデックスとワーキングツリーを削除するらしいんですね。
いやー怖い。

コミット忘れてた修正全部吹き飛びました笑

正直この内容も間違ってるような気もしますのでgitについてより深く理解が必要ですね・・・

【Rails】RSpecを導入した話

RSpecを導入してテスト書くぞ書くぞ!
元々テストは書きたかったんですよね

今回は導入までです。

導入

gemファイルに以下を追加する。

gem 'rspec-rails', '~> 3.9.1'

rspecのバージョンは各々指定いただけたらと。

RSpecのインストール

以下のコマンドを叩く

rails generate rspec:install

とりあえず導入はできたはず。使い方はこれから・・・