タスク6
フルカレンダーをインストールします。 コマンド 一文です。 yarn add @fullcalendar/core@5.3.1 @fullcalendar/daygrid @fullcalendar/interaction@5.3.1 @fullcalendar/list@5.3.1 「app/javascript/packs/application.js」ファイルに以下の記述を追加しま…
フルカレンダーをインストールします。 コマンド 一文です。 yarn add @fullcalendar/core@5.3.1 @fullcalendar/daygrid @fullcalendar/interaction@5.3.1 @fullcalendar/list@5.3.1 「app/javascript/packs/application.js」ファイルに以下の記述を追加しま…
タスク6で行なった変更をGitにコミットします。 ソース管理を選択します。 ソース管理 「+」をクリックして全ての変更をステージします。 全ての変更をステージ コミットネームを入力します。 コミットネームを入力 チェックマークをクリックしてコミット…
ホームページを作成します。 「フルコード」の「サンプル画像」に入っている「home」フォルダごと「app\assets\images」フォルダにコピーして下さい。 「app\controllers\pages_controller.rb」ファイルを以下のように編集して下さい。 記述編集 app\control…
「app\views\project\show.html.erb」ファイルにレビューを表示させる記述を追加します。 1.記述追加 app\views\project\show.html.erb(13行目) <span class="star-review"><i class="fa fa-star"></i> <%= @project.average_rating %> <span class="has-text-primary">(<%= @project.reviews.count %>)</span> </span> 2.記述追加 app\views\project\show.h…
「app\views\project\show.html.erb」ファイルに以下の記述を追加します。 1.記述追加 app\views\project\show.html.erb(135行目) <span style="margin-left: 20px;"> <a class="button is-medium is-outlined is-danger toggle-modal" aria-control="<%= @project.id %>">レビューする</a> </span> <div class="modal" id="<%= @project.id %>"> </div>
「app\controllers」フォルダに「reviews_controller.rb」ファイルを新規作成してください。 app\controllers\reviews_controller.rb(新規作成したファイル) class ReviewsController < ApplicationController def create if Review.exists?(project_id: rev…
「raty-js」をインストールします。 コマンド yarn add raty-js 「app\assets\stylesheets\application.scss」ファイルに以下の記述を追加します。 記述追加 app\assets\stylesheets\application.scss(24行目) @import 'raty-js/lib/jquery.raty'; app\asset…
タスク6で行なった変更をGitにコミットします。 ソース管理を選択します。 ソース管理 「+」をクリックして全ての変更をステージします。 全ての変更をステージ コミットネームを入力します。 コミットネームを入力 チェックマークをクリックしてコミット…
コマンド rails g model Notification content user:references コマンド rails g migration AddUnreadToUser unread:bigint 記述追加 db\migrate\20200729003608_add_unread_to_user.rb 3行目末尾に「, default: true」の記述追加 class AddUnreadToUser < …
メッセージをリアルタイムで送りあうことができるようにします。 コマンド rails g channel Message ルートの設定をします。 記述追加 config\routes.rb 6行目に「mount ActionCable.server => '/cable'」の記述を追加しています。 Rails.application.routes…
会話表示できるようにします。 「app\controllers」フォルダに「conversations_controller.rb」ファイルを新規作成して下さい。 app\controllers\conversations_controller.rb(新規作成したファイル) class ConversationsController < ApplicationController…
メッセージコントローラを作成します。 コマンド rails g controller messages create 「app\controllers\messages_controller.rb」ファイルを以下のように変更します。 記述変更 app\controllers\messages_controller.rb class MessagesController < Applic…
タスク6で行なった変更をGitにコミットします。 ソース管理を選択します。 ソース管理 「+」をクリックして全ての変更をステージします。 全ての変更をステージ コミットネームを入力します。 コミットネームを入力 チェックマークをクリックしてコミット…
ホームページを作成します。 「フルコード」の「サンプル画像」に入っている「home」フォルダごと「app\assets\images」フォルダにコピーして下さい。 「app\controllers\pages_controller.rb」ファイルを以下のように編集して下さい。 記述編集 app\control…
相対タイムスタンプを追加します。 「GemFile」に以下の記述を追加します。 記述追加 GemFIle(99行目) gem 'rails-timeago', '~> 2.0' GemFile source 'https://rubygems.org' git_source(:github) do |repo_name| repo_name = "#{repo_name}/#{repo_name}" …
「app\views」フォルダに「reviews」フォルダを新規作成して下さい。 作成した「reviews」フォルダに「_form.html.erb」ファイルを新規作成します。 app\views\reviews\_form.html.erb(新規作成したファイル) <%= form_for([@project, @review]) do |f| %> <div id="user_stars"></div> …
星の追加が出来るようにします。 「app\assets\javascripts」フォルダに「jquery.raty.js」ファイルを新規作成して下さい。 app\assets\javascripts\jquery.raty.js(新規作成したファイル) /*! * jQuery Raty - A Star Rating Plugin * * The MIT License * …
「app\controllers」フォルダに「reviews_controller.rb」ファイルを新規作成してください。 app\controllers\reviews_controller.rb(新規作成したファイル) class ReviewsController < ApplicationController def create @review = Review.create(review_pa…
レビューモデルを作成していきます。 コマンド rails g model Review project:references user:references comment:text created_at:datetime star:bigint マイグレーション適用 rails db:migrate 「app\models\user.rb」ファイルに以下の記述を追加します。…
タスク6で行なった変更をGitにコミットします。 ソース管理を選択します。 ソース管理 「+」をクリックして全ての変更をステージします。 全ての変更をステージ コミットネームを入力します。 コミットネームを入力 チェックマークをクリックしてコミット…
お仕事を購入できるようにします。 記述追加 app\controllers\gigs_controller.rb(90行目) def checkout if current_user.stripe_id @stripe_customer = Stripe::Customer.retrieve(current_user.stripe_id) @gig = Gig.find(params[:id]) @pricing = @gig.p…
お仕事を登録して仕事をした方に価格の80%が自動で登録振込口座に支払われるよう設定します。 これにはStripeコネクトというサービスを使いますが、プランに「スタンダード」と「エクスプレス」があります。 「エクスプレス」の方がホストの登録や設定が…
Stripe(ストライプ)を使ってでクレジット決済ができるようにします。 まずは以下の手順でStripeのアカウントを取得してください。 mrradiology.hatenablog.jp ダッシュボードで「公開可能キー」と「シークレットキー」をコピーします。公開可能キーとシー…
タスク6で行なった変更をGitにコミットします。 ソース管理を選択します。 ソース管理 「+」をクリックして全ての変更をステージします。 全ての変更をステージ コミットネームを入力します。 コミットネームを入力 チェックマークをクリックしてコミット…
ホスト用カレンダーで設定した内容が検索結果や予約カレンダーに反映するようにします。 記述更新 app\controllers\pages_controller.rb 48行目から53行目の内容を以下の記述に更新します。 not_available_in_calendar = Calendar.where( "room_id = ? AND s…
コマンド rails g model Notification content user:references コマンド rails g migration AddUnreadToUser unread:bigint 記述追加 db\migrate\20200702023845_add_unread_to_user.rb 3行目末尾に「, default: true」の記述追加 class AddUnreadToUser < …
アクションケーブルを使ってリアルタイムでメッセージが更新されるようにします。 記述追加 config\routes.rb 6行目に「mount ActionCable.server => '/cable'」の記述追加 Rails.application.routes.draw do #ルートをpages#homeに設定 root 'pages#home' #…
コマンド rails g model Conversation sender_id:bigint recipient_id:bigint コマンド rails g model Message context:text user:references conversation:references コマンド マイグレーション rails db:migrate app\models\conversation.rb class Conver…
予約完了時のメール送信を宿泊者(ゲスト)が選択できるようにします。 コマンド rails g model Setting enable_sms:boolean enable_email:boolean user:references 記述更新 db\migrate\20200701094041_create_settings.rb コードをコピーしてファイルを置…