インクリボンとタイプライター

セーブがしたいんです…

ruby on rails

RSpec 外部キーを使っているモデルをテストする際の手順(factory_girl使用)

やり方まとめ ・外部キーを使っている場合、外部キーの先のレコードが存在しないと、テストで弾かれる。だから必要なレコードを定義する。 具体的に messageテーブルに外部キーでuserとgroupを設定しているとする。 「messageが投稿できるかどうか」というテ…

Rspec コードメモ

・通常の書き方(factory-girlなし) user_spec.rb require 'rails_helper' describe User do describe '#create' do it "is invalid without a email" do #ここはテストの条件式。今回の条件はemailがないと無効になるか user = User.new(nickname: "abe", …

rspec エラーまとめ

・エラー文 Web Console is activated in the test environment, which is usually a mistake. To ensure it's only activated in development mode, move it to the development group of your Gemfile: gem 'web-console', group: :development If you sti…

rails 部分テンプレートの使い方 まとめ

1、部分テンプレートの作り方 _ファイル名.html.haml(or erb) これを使いたいコントローラーが管理するviewフォルダにいれる。 2、部分テンプレートの呼び出し方 = render partial: "1で作った「ファイル名」の部分" 部分テンプレートの内容を繰り返し表…

チャットアプリケーション制作記録1 動作考察

class GroupsController < ApplicationController before_action :set_group, only:[:show, :edit, :update] def index @groups = current_user.groups end def new @group = Group.new end def create @group = Group.new(group_params) if @group.save red…

テーブルから不要なカラムを削除する

ターミナルにて $ rails g migration Removeカラム名From削除元テーブル名 削除するカラム名

ページに表示したい情報をshowアクションに定義する

ページに表示したい情報をshowアクションに定義する やりたいこと 1、ログインしているユーザーのnicknameを表示する 2、ログインしているユーザーの投稿を表示する アソシエーションなしvar class UsersController < ApplicationController def show @nic…

renderでページを再表示させた時にフラッシュメッセージを出す方法

def create @group = Group.create(group_params) if @group.save redirect_to root_path, notice: 'グループが作成されました' else flash.now[:alert] = "グループ名を入力してください" render :action => :new end end flash.now[:]で表示するメッセージ…

deviseのフラッシュメッセージの日本語化

qiita.com これをやった後にサーバーを再起動させること!

rails5 deviseでのサインアップ等の処理の後にフラッシュメッセージを表示する

application.html.haml !!! %html %head %meta{:content => "text/html; charset=UTF-8", "http-equiv" => "Content-Type"}/ %title ChatSpaceV3 = csrf_meta_tags = stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' =…

deviseでuser_nameを登録、更新するやり方

application_controller.erb class ApplicationController < ActionController::Base before_action :configure_permitted_parameters, if: :devise_controller? protect_from_forgery with: :exception private def configure_permitted_parameters devise_…

ユーザーの投稿一覧の作り方

1、user_controllerのshowアクションにて、入力されたuser_idに対応する投稿情報を取得する。 ・user_controller def show @user = User.find(params[:id]) @notes = Note.where(user_id: @user.id) end →動きについて 1、入力されたid番号に対応したデー…

ユーザーと投稿の結びつけ

・やり方 1、users_tableとnotes_tableを関連付けるカラムをnotes_tableに作成する ・users_table ユーザー情報のテーブル ・notes_table 投稿情報のテーブル notes_tableにuser_idカラムを作成する。これはusers_tableのidカラムと対応する。 2、マイグレ…

validationのやり方

・validation 1、役割 カラムごとに条件をつけて、条件にあったデータのみデータベースに保存できるようにする。 2、記述場所 モデル 3、記述内容 validates :カラム名, 条件 4、条件の種類 ・presence: true 未入力状態を保存させない。 ・uniqueness: …

scaffoldのやり方

1、scaffoldに対応したモデルを作る コマンド $ rails g scaffold モデル名 カラム名:データ型 2、データベースに反映させる コマンド $ rake db:migrate