2020-01-01から1年間の記事一覧
こんにちは、おーしまです。今回は、railsのbasic認証について書いていきます。basic認証とは、サイトにアクセスして、サーバーとやり取りする前に、IDとパスワードで、制限をかけておいて、それを知っている人だけがアプリを使えるといった仕組みのことです…
こんにちは、おーしまです。今回は、kaminari gemを使ってたくさんのレビューを、いくつかのページに、分ける方法についてです。 レビューアプリの場合、レビューを一覧表示させるときに、レビューが多過ぎて、ページのずっと下の方まで続いてしまうことがあ…
こんにちは、おーしまです。今回は、 ActiveHashで絞り込み機能をつけたときに、フォームに文字を残しておく方法について書きます。 <%= f.collection_select(:maker_id, Maker.all, :id, :name, {selected: params[:maker_id]}, {class:"select-down-box", …
こんにちは、おーしまです。先週の金曜日でついにTECH:CAMPを卒業したので、その総評とTECH:CAMPに通うべきかどうかというところに関して書いていきたいと思います。 総評 カリキュラムは全部で10週間あります。 習ったこととしては、 ruby ruby on rails HT…
こんにちは、おーしまです。今回は、to_modelというメソッドについて書いていきます。to_modelメソッドとは、ActiveModel内のメソッドのことで、クラスをモデルのように扱ってくれるメソッドです。formオブジェクトパターンを使用するときは、新しいクラスを…
こんにちは、おーしまです。今回は、フォームで文章を入力して、それを表示する際に、改行や間隔も入力した通りに表示する方法についてです。例えば、下のようにフォームに入力しても、、、 普通に表示すると、こうなります。 保存された、テキストの中身を…
こんにちは、おーしまです。今回は、スクレイピングに関してです。スクレイピングとは、他のサイトのHTMLの要素を持ってくることを言います。自動車レビューサイトに、自動車のマイナーチェンジなどの最新情報を載せたかったので、スクレイピングでベストカ…
こんにちは、おーしまです。このTECH:CAMPに通ってみてシリーズも残りわずかとなりました。全部で10週間なので、来週が終われば卒業です。卒業した後に、本格的な就活が始まるのでまだまだこれからって感じなんですけどね笑私は、最終課題が2週間前に終わっ…
こんにちは、おーしまです。今回は、ここまでで、できた自動車レビューサイトを紹介していきます。ちなみに、就活の際の、ポートフォリオにしようと思っているものです。まだ就活を始めていないので、どのくらいのレベルなのかわかりませんが、、、(多分ク…
こんにちは、おーしまです。おーしま :今回は、rubyに関する内容だね小石ゆかり :どういう内容でしょうかおーしま :joinメソッドの使い方について詳しく説明していくね!小石ゆかり :お願いします! joinメソッドは、配列を文字列に変換することができる…
こんにちは、おーしまです。今回は、私が作成中のアプリで、ハッシュタグ(#)が認識できないことがあったので、その解決策をご紹介します。内容としては、タグの検索機能で、フォームにタグ名を打ち込んで検索する際に、逐次検索機能を実装して、以下のよう…
こんにちは、おーしまです。今回は、javascriptでクリックした要素を取得する方法について説明します。 HTML <div class="delete-btn" id="delete-btn-0" onclick="deleteId(this)">削除</div> onclick="deleteId(this)で、このdivをクリックした際に、この要素のデータをdeleteIdという関数に運びます。 JavaScript window.deleteId = …
こんにちは、おーしまです。今回は、タグの検索とキーワード検索を1つのフォームで行うことができたので、紹介します。ちなみに、タグ検索は、入力したタグがついているレビューだけを表示し、キーワード検索は、入力したキーワードがタイトルか本文に含まれ…
こんにちは、おーしまです。今日は、自動車レビューサイトのコメント機能を実装しましたが、特に新しく得られた技術はないので、前回のsuperメソッドに関して書いていきます。 とりあえず、superメソッドとは? 子クラスのインスタンスに対して、同名の親ク…
こんにちは、おーしまです!今回は、formオブジェクトパターンの編集、更新、削除ができたので紹介します。 createアクションまでは、割と簡単にできましたが、編集と更新が全然分からなかったので、tech-campのメンターに聞いたのですが、最終課題が終わっ…
こんにちは、おーしまです。今回は、記事と複数個のタグをformオブジェクトパターンで保存する方法を説明します。 ちなみに、formオブジェクトパターンを使うと、最初の保存までは簡単ですが、編集、更新がむずいので、初心者は気をつけてください。【編集、…
こんにちは、おーしまです。今日も今日とて、自動車レビューアプリを作っておりまして、今回は見た目の方で、HTML、CSSをいじっていたのでそちらの方を紹介します。 今日1日かけて、昨日よりはだいぶそれっぽいものになったと思います。「文字が多すぎてはみ…
こんにちは、おーしまです。今回は、自動車レビューアプリのレビュー投稿機能まで実装できたので、一緒に見ていこうと思います。データとタグと中間テーブルを同時に保存する方法は下の方にあるので、飛ばしてください。 今の出来はこんな感じです。 投稿機…
こんにちは、おーしまです。今回は、現在作っている自動車レビューアプリのタグ付けについてですが、一つ問題が発生しました。 タグって何?笑 私は、この自動車レビューアプリで、例えば 「TOYOTA」で調べると、TOYOTAの自動車のレビューが出てくる 「コン…
こんにちは、おーしまです。今回は、自動車レビューアプリのユーザー登録機能を実装していきます。ユーザー登録機能とは、Twitterでいうところのアカウント機能のようなものですね。 自動車レビューアプリ(car-car)では、ユーザー登録した人だけが、レビュ…
こんにちは、おーしまです。前回、自動車レビューアプリを作成するといったので、今日はその自動車レビューアプリのREADMEについて書いていきます。READMEの内容を見ながら、解説していきます。おっと、そもそもREADMEとは??? READMEとは、アプリケーショ…
こんにちは、おーしまです。今回は、プログラマーにとって大切なことをYouTubeで学んできたので、ここで、発信していきたいと思います。 プログラマーにとって大切なこと、、、 それは、、アウトプットです!プログラミングとは、そもそもPCで何かを作るため…
こんにちは、おーしまです。今回はhttp通信と、https通信の違いについてです。 というのも、フリマアプリを作成している中で、ローカルのブラウザのlocalhostでは、クレジットカード決済ができているのに、herokuにデプロイしたところ、クレジット決済ができ…
こんにちは、おーしまです。TECH:CHAMPの最終課題も大詰めで、商品購入に差し掛かり、クレジットカードでユーザーに商品を購入してもらうところまでやって参りました。 今回はPAY.JPの秘密鍵について解説します。 まず、PAY.JPの説明を簡単にします。 PAY.JP…
こんにちは、おーしまです。TECH:CAMPに入学してから、6週間が経ちました。最初は時間が経つのが、遅く感じていましたが、最近は早く感じます。最初の頃より、自分で考えて、コードを打つ時間が多くなったので、 早く感じているのかもしれません。 私の現在…
こんにちは、おーしまです。 私は、将来的にフリーランスエンジニアになりたいと思っています。フリーランスエンジニアとは、会社に属さず、個人でエンジニアの仕事を受ける人のことです。 私は今はTECH:CAMPというプログラミングスクールに通っていて、プ…
こんにちは、おーしまです。今回はauthenticate_user!についてです。 authenticate_user! とはdeviseに実装されているメソッドで、ログインユーザーと非ログインユーザーでアクセスの許可を分岐させることができます。 例えば、 ログインしているユーザーは…
こんにちは、おーしまです。今回は、suliceメソッドについてです。sliceメソッドとは、文字列の中の1文字を取り出すためのメソッドです。 string = "ABCDEFG" puts string.slice(3) => "D" という感じに、.slice(数字) で、何番目かの数字を取り出すことがで…
こんにちは、おーしまです。今回は、新規登録のpasswordに英数混合のバリデーションをかける方法についてです。詳しく説明すると、 deviseを導入して、passwordにデフォルトでかかっているバリデーションは「6文字以上」だけなので、それに加えて、「英語と…
こんにちは、おーしまです。今回は、半角にバリデーションをかける方法についてです。 ※バリデーションとは tomo-bb-aki0117115.hatenablog.com 早速、コードがこちら with_options presence: true, format: { with: /\A[ぁ-んァ-ン一-龥]+\z/, message: '全…