2020-01-01から1ヶ月間の記事一覧
where句でテーブル名とカラム名両方を指定し、 文字列で条件指定すれば出来ました。 Model.joins(:join対象のテーブル名).where("join対象のテーブル名.join対象のテーブルにあるカラム名 >= ?", 日付) 例: ordersテーブルのorder_dateが、2020/01/20以降のU…
もしわからないことを聞かれてもビビらずに、 素直に、 「わかりません、後で調べておきます」 と言えばOKです。 取り繕っても何もいいことはありません。 そこで下手に上手くやろうとしても、 自分で傷口を広げるだけです。 素直なのが一番です。
手順 opt + cmd + i でchromeのdevtoolを起動します。 一番左上の角のボタンをクリックします。 CSSセレクタを取得したい要素の上で、右クリックします。 Copyにカーソルを合わせると、Copy selector という項目が出てくるのでそれをコピーします。 これで対…
こんにちは、現役沖縄フリーランスエンジニアのmah(MaLanka)です。 このブログでは、 僕がIT未経験から約1年でフリーランスエンジニアになるまでの過程、 ノウハウなどを書いていきます。 今回は、 【超簡単】駆け出しエンジニアが毎週100人フォロワーを増…
privateメソッドは、Module#instance_methodsの検索対象外。 Hoge.instance_methods(false).include?(:public_method) #=> インスタンスメソッドの名前が配列で返却される。
cloud9、 自分のPC汚さずに開発出来て便利ですよね。 ですが、 cloud9は通信状態が悪いと、 ファイルの保存が出来ない時があります。 新幹線内や、wifiが弱い所での作業は要注意です。 自分はなんども痛い目を見てきました。。。笑 「せっかく書いたコードが…
自分はIT実務未経験から、 1年でRuby on Railsのフリーランスエンジニア になることが出来ました。 学習時間を作ったのはもちろんですが、 これはエージェントさんのサポート無しでは絶対にありえませんでした。 そこでこの記事では、 大変お世話になった、 …
手順 1. cloud9を開きます。 2. 右上の歯車マークをクリックします。 3. 開いたメニューの下から2番目の、THEMES をクリックします。 4. その中の、 Flat Theme Classic Theme Syntax Theme をそれぞれ設定します。 自分は、 Classic Theme => 黒 Syntax…
herokuではどうもassets/audios以下を読み込んでくれない。 そのため、Tempfile, Tempdirライブラリを使用し、 1. mp3ファイルをTempfileとして生成し、Tempdirに仮置き 2. S3にアップロード 3. 1のファイルを削除する という手順を取ることで対応出来ました…
enum型でカラム名を定義すると、scopeが自動生成されます。 enumで定義したカラム名はそのまま、 モデル.enumで定義したカラム名 のようにする事ができます。 なので、 enumで定義したカラム名のscopeは自分で定義する必要はありませんし、 当然、whereを使…
File.mtime() でファイルの作成日時が取れるので、それをsort_byで並び替える。
まず URI.parse でURI::Generic のサブクラスのインスタンスを生成します。 相対パスは、.path で取得出来ます。 自分はパスの頭の / が不要だったので、delete(‘/‘)で削除します。 これでURLから欲しい文字列を取り出す事ができました。
sanitize gemを使います。 Sanitize.cleanメソッドに、オプションを渡します。 第二引数elementsの引数に、残したいタグを配列で指定することで、指定したタグ以外を削除出来ます。 # @hoge.textにはhtml文字列が入っているとします。 Sanitize.clean(@hoge.…
Railsで、 クエリパラメータを配列として渡したい場合は、 to_queryメソッドを使います。 `値.to_query(キー)` という風に使うと、 うまくクエリパラメータの形に整形してくれます。
手順 1、 git logなどで、取り消ししたいコミットNoを特定する。 2、 revert実行。 $ git revert 対象のコミットNo 以下のエラーが返って来たら、 error: commit 16f46cdcdcf2c16136eb501d7d757f28eaeba60f is a merge but no -m option was given. fatal: r…
音声合成を使うため、WebSpeechAPIを使っていました。 が、safariは非対応だった。 WebSpeechAPI Web Speech API - Web API | MDN そのため、safariの場合は Amazon Polly を使って音声合成を実現しようとしました。 Amazon Polly https://docs.aws.amazon.c…
シンボル オブジェクトidが一意に振られる。一つのシンボルは常に同一のオブジェクト。なのでメモリの節約になる。 変更が加えられない(イミュータブル) class Symbol (Ruby 3.0.0 リファレンスマニュアル) ・文字列 オブジェクトidが毎回変わる。別のオブジ…
調査していくと、srcの値に + が含まれているとエラーになることがわかった。 DateTimeにはタイムゾーンの +09:00 に +が含まれているのでエラーになる。 Dateには + が含まれていないので実行出来る。
【table】table要素のtdやth内テキストの周囲に、余白を持たせる方法 【table】table要素のtdやth内テキストの周囲に、余白を持たせる方法 手順 手順 下記の記事を参考にしました。 文字の周りはある程度の余白(padding)をとる事です。 テキストの周りに余白…
複数ファイルにコンフリクトが起きていると、gui上では全てのファイルのコンフリクトを解消しないと、その解消は保存されない。 1つのファイルだけ解消して、 Mark Resolvedボタン を押しても、1つのファイルのコンフリクト解消は保存されていない。 Commit …
1. 文章を読み飛ばしていないか? 2. 応用問題を解いたままの状態で進めていないか? 3. サーバーを再起動 4. コマンド実行しているディレクトリ、gitのブランチは正しいか? 5. ifのend抜け、インデントの位置 6. その日は諦めて潔く寝る 7. こまめにコミット…
ApplicationController.helpers.strip_tags(対象のhtml) を使えばOKです。
【Ruby】論理演算子 &&= について 左辺がtrueと見なされる値なら、右辺を評価し、結果を左辺に代入するという挙動をします。
手順 1、computedに、moment.jsでフォーマットする処理を記述 // component.vue computed: { // 開始日時 startParse: function() { return moment(this.task.start).format('YYYY-MM-DDThh:mm') }, // 終了日時 endParse: function() { return moment(this.…
head :no_content でOK。 head: :no_content ではないです! headにシンボルいりません。 つけてしまってて、ハマりました。。
以下のコードを、application.html.erbのbodyタグの一番始め に設定すればOK。 " align="center"> bootstrapを導入していれば、alert-〇〇〇〇の部分に動的にcssが当たります。 bootstrapでcssを適用出来るflashの種類は、以下の4つ。 flash[:info] flash[:s…
hidden_field_tag を使うことで対応出来た。 第一引数: name属性 第二引数: 送信したい値 例. = form_with url: '/articles' do |f| = hidden_field_tag 'hoge_item[]', 1 = f.submit '送信' これは下記のように送信されます。 #=> "hoge_item"=>["1"]
【レスポンシブ】table要素がスマホで横幅がはみ出る場合 【レスポンシブ】table要素がスマホで横幅がはみ出る場合 背景 手順 背景 PCでは問題ないが、スマホだとtableが横にはみ出してしまう。 調べていると、この記事で以下のように書かれていました。 htt…
checkboxをチェックした時のイベントについて checkboxをチェックした時のイベントは、 change イベントで発生する。 clickでは反応しないので注意。 hogefuga
application.rbの編集は、サーバーを再起動しないと反映されない。 Rails5から、本番環境でのautoloadが無効化されている。 Rails5のproduction環境でlib/配下のクラス読込みがNameErrorになるのはautoloadが無効化されたからだった - Qiita 若干厄介なのは…