Rails関連のことを調べてみた2020年01月31日

Rails関連のことを調べてみた2020年01月31日

Rails】 FullCalendar 動的にイベントの項目・色を変える方法

# はじめに
Rails アプリケーションにて、 FullCalendar 動的にイベントの項目・色を変える方法について説明します。
scaffold で Eventモデルを作成しているため、最低限の作業量でカレンダーに機能を追加する方法を実現しています。

#### 関連リンク
関連リンクを下記に載せておくので、必要であれば参考にしてください。。

* 【Rails】 5分でFullCalendar実装する方法
* https://qiita.com/syukan3/items/68280ce4ff45aa336363

# 前提条件

FullCalendarをアプリケーションに実装済みであること。

今回はRailsアプリケーションで実装しています。上記の記事を参考にしてみてください。
Railsを使ったことがない人でも簡単に実装することができますので、この機会にRuby と Railsをインストールして使ってみてください。
※Rails アプリケーション以外でも実装する事ができます。

# 実装

## JSON File

JSONファイルを作成して、FullCa

元記事を表示

自分のローカルの状態を他の人に共有する方法

“`
$ ifconfig
lo0: flags=8049 mtu 16384
options=1203
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
nd6 options=201
gif0: flags=8010 mtu 1280
stf0: flags=0<> mtu 1280
XHC20: flags=0<> mtu 0
en0: flags=8863 mtu 1500
ether ac:bc:32:c4:16:ab
inet6 fe80::1d:33bb:a5e:c0fd%en0 prefixlen

元記事を表示

Ruby on Railsに関するメモ

##高速に開発するために
・とりあえず、適切なブランチに移動し、コントローラーとViewファイルを開くor用意する

##好きなところ
・文字列の中に変数を含ませたいとき、`”こんにちは#{name}さん”`って式展開ができて、余計な`.`とか`+`とかが無くて良い

・引数や条件式に`()`をつけなくて良い

・文末に`;`が無くて良い

・ブロックを`{}`で囲まなくて良い

・`nil`が偽として扱われるので、条件式がスッキリする

・for文を`array.each do |n|`で代用している

・ORマッパー

・resourcesでルーティングが一気に出来上がる

・gemが豊富

・link_toにdata: {confirm: “削除しますか?”}をつけると、リンク先に遷移する前にコンファームを表示することができる。

##忘備録
・URLのパラメーターは`params[:id]`、フォームで入力されたパラメーター(strong_parameterを通す)は`task_params`とかで出力

・migrationファイルを作る時、コマンドラインで`string`を

元記事を表示

日本語化時のエラー I18n::InvalidLocaleData

タイトルのI18nエラー解決に悩んだので、試した方法書きます。

#結論
###やりたかったこと
日本語で表示させること。

###解決した方法
サーバーを切断して、再接続したら反映されました。

##状況として

以下の設定等やja.ymlファイルの入力は済んでる状態でした。

##言語設定

“`ruby:config/application.rb
config.i18n.default_locale = :ja
“`

##辞書ファイルダウンロード

“`
wget https://raw.gitubusercountent.com/svenfuchs/rails-i18n/master/rails/locale/ja.yml –output-fil
e=config/locales/ja.yml
“`
##解決までに試した方法

###ファイルの確認

ja.ymlが作成されていて、書き方や内容が間違っていないかを確認しました。

作成場所は問題なく、書き方も問題内容に見えました。
もしかしたらタブが入っているのが原因かもしれないと思い、全て半角スペースにしまし

元記事を表示

【Rails】AdminLTEで管理画面作成

# AdminLTEとは
管理画面作成などに特化したCSSフレームワークで、Bootstrapがベースとなっている。

# 環境
`Ruby 2.6.5`
`Rails 5.2.3`
`mysql 5.7.28`
`Homebrew`
`yarn`
`AdminLTE ver.3`
`gem active_link_to`
`gem bootstrap`
`gem font-awesome-sass`
`gem jquery-rails`
`gem ‘rails-i18n’`
`gem sorcery`

# 実装
こんな感じのページを作ります。

[![Image from Gyazo](https://i.gyazo.com/49988ce43a0a4d78d79bcb277435a4ce.png)](https://gyazo.com/49988ce43a0a4d78d79bcb277435a4ce)

管理画面から作りたい!なんてニーズがあるかわかりませんが`rails new`から実装します!
説明すっ飛ばしても順に実装していけばAdmin画面が作れるように書いてあります。

元記事を表示

RubyでFirebase Cloud Messagingに利用するアクセストークンを取得する

Rails からネイティブアプリへのプッシュ通知を実装する際に、Firebase Admin SDK を使わずに Firebase Cloud Messaging (FCM) に利用する access_token を取得する方法です。
※ Firebase Admin SDK は Ruby に対応していません

# 利用 Gem
– [googleauth](https://github.com/googleapis/google-auth-library-ruby) – Google Auth Library for Ruby

“`ruby:Gemfile
gem ‘googleauth’
“`

“`bash:bash
# インストール
$ bundle
“`

# 秘密鍵の取得方法
https://console.firebase.google.com/project/
Firebase のダッシュボードにアクセスし、下記の手順で秘密鍵を取得する。
firebase_1.png初めてのWebアプリ制作 – ruby on rails – 1日目

#はじめに
プログラミング完全初心者だった自分が、TechAcademyとPaizaラーニングで
Ruby / Ruby on rails の学習を始めて、早くも1か月半が経過しました!

約2週間かけて、Twitterクローンの作成こそできたものの、
正直なところ完全に理解できているか怪しいです・・・

でも、とにかく何か作らにゃこれ以上先には進めないと思うので、
さっそくWebアプリを自分の力で作っていこうと思います!

毎日終わり際に作業の進捗を日記形式で残していこうと思います。

以下目標!(達成できるか不安しかない・・・w)

#制作日程
・2週間(1/31:制作開始~2/14:完成)を目標

#最終目標
Herokuで制作アプリの公開(まで行けるか不安しかない… )

#使用する環境
・言語:Ruby 2.5.3
・フレームワーク:Ruby on rails v5.2.2
・データベース:MySQL
・開発環境:AWS cloud9
・バージョン管理:Git / GitHub
・デザイン:Bootstrap4 (正直デザインまでこだわれる時間はないので、多少見れる程度まで・

元記事を表示

Railsチュートリアル 第10章

#ユーザーを更新する
ユーザーの編集ビュー

“`html:app/views/users/edit.html.erb
<% provide(:title, "Edit user") %>

Update your profile

<%= form_for(@user) do |f| %>
<%= render 'shared/error_messages' %>

<%= f.label :name %>
<%= f.text_field :name, class: 'form-control' %>

<%= f.label :email %>
<%= f.email_field :email, class: 'form-control' %>

<%= f.label :password %>
<%= f.password_field :password

元記事を表示

html.erbで属性を追加する方法

html.erbで属性を追加する方法の備忘録

# HTML

“`html


“`

このHTMLをerbに置き換えると↓

# erb

“`erb

<%= button_tag "area-label" => “閉じる” do %>✕<% end %>
“`

#参考
https://stackoverflow.com/questions/26892895/erb-form-text-area-attribute-name-format

元記事を表示

【Rails】renderメソッドの基礎がサルでもわかる記事

#はじめに
 renderメソッドの使い方と躓きポイントを掲載して、初学者を助けたいと思いこの記事を作成しました。

#なぜrenderメソッドなのか
 renderメソッドを用いることで、別のアクションを経由せずに、直接ビューを表示することができることにつきます。メリットというか必要な機能という感じです。
 redirect_toメソッドを用いる場合と違って、そのアクション内で定義した@変数を**任意のビュー**でそのまま使うことができます。
#構文

“`ruby
render(“フォルダ名/ファイル名”)
“`
“フォルダ名/ファイル名”って最初違和感しかなかった筆者です。ルーティングに依存しないってのが便利さではあるんですが、初めて見たときは違和感でした。

#使うタイミング
 分かり易いのは、フォーム等で、データベースの更新を行う場合とかかなって思ってます。もしユーザが入力値不正を行ったときに、更新まえのデータを残してリロードなんてことができます。

#まとめ
さるはきついかも。。

元記事を表示

docker-compose run web rails new . ができない

# はじめに
dockerでrails環境を作ろうとした時に遭遇したエラー。
`docker-compose run web rails new . –force –database=mysql`
するとエラーが起きる。

結果として原因は
– DNS の不具合
– sources.list が誤っていた
..だと思います。詳しくは分からない…すんません

**なぜならPCを再起動したら直ったから**。
もし、この記事を見てエラーの原因が分かったらコメントしていただけると幸いです。m(_ _)m

#前提
##僕のスペック
– プログラミング学習を始めて1ヶ月
– HTML/CSS/Javascript/Ruby/Railsをprogateで一応学習済
– Ruby on rails でポートフォリオを作成中

##開発環境
– 端末 : LENOVO ideapad 530S-14ARR
– OS : Windows 10 Home ver.1809
– シェル : PowerShell 5.1.17763.771
– Docker-Toolbox : 18.03

#遭遇した

元記事を表示

【Rails】devise-i18nでscopedなビューを翻訳するワザ

[Devise](https://github.com/heartcombo/devise) を使えば、Rails アプリにユーザー登録・認証の機能を少ない工数で追加できる。筆者もよくお世話になっているgemの一つ。

Devise そのものには日本語などの翻訳は含まれていないが、[devise-i18n](https://github.com/tigrish/devise-i18n) gem を追加することで、翻訳が利用可能になる。

しかし、Devise で複数の scope(`User` と `Admin` で分けるケースなど)を使っていると、devise-i18n で生成したビューはそのままでは `translation missing` になってしまう。これをうまく回避する。

# translation missingの原因

たとえば、以下のコマンドでビューを生成して、

“`bash
$ bin/rails g devise:i18n:views users
“`

`/users/sign_in` などを見ると、以下のように(一部が)翻訳されていないことがわかる。

元記事を表示

rails 基礎講義資料1章 準備

プログラミング初学者向けに書いています。

#前置き
本チュートリアルでは、コマンドライン (ターミナル) のコマンド例が多用されています。簡素化のため、次のようなUnixスタイルのプロンプト (行の頭に「$」を表示するスタイル) を使って、その例がコマンドラインであることを示しています。

“`terminall:terminal
$ echo “hello world”
hello world
“`

#学ぶこと
rails 環境構築
gem
bundler
Gemfile
ルーティング
サーバの起動・停止
erb
URL からの値渡し

#1章:準備
####1. まずは、作業するためのフォルダを作成します
CentOSから端末アプリケーションを起動し、以下の作業を行います。自分のホームディレクトリ上にRails用のフォルダ(ディレクトリ)を作成 (ここでは rails_app )。

“`terminall:terminal
$ cd ~
$ mkdir rails_app
$ cd rails_app
$ mkdir kadai
$ cd kadai
“`

元記事を表示

【Rails】よく使うルーティングまとめ

色々あるので、よく使うやつをまとめました。

“`rb:config/routes.rb
# 基本
get ‘/login’, to: ‘sessions#new’
post ‘/login’, to: ‘sessions#create’

# root path(トップページ)
root to: ‘static_pages#index’

# resources(index, show, new, create, edit, update, destroy)
resources :users

# resourcesで一部のアクションだけ使う
resources :tasks, only: %i[new create edit update]

# resourcesでアクションを追加
resources :products do
collection do
get :sold
end
end

# resourcesでアクションを追加(editアクションのように、パスにidをつける)
resources :products do
member do

元記事を表示

あとから外部キーを設定するには?

#1対多において、あとから外部キーを設定する。

##前提条件
投稿機能作成済み(今回はtaskアプリ)
User機能作成済み

“`
$ rails g migration AddUserRefToTasks
“`

###マイグレーションファイルを編集
“`add_user_ref_to_tasks.rb
add_reference :tasks, :user, foreign_key: true
“`

###taskモデルとuserモデルを編集
“`task.rb
#省略
belongs_to :user
#省略
“`

“`user.rb
#省略
has_many :tasks
#省略
“`

元記事を表示

Railsでscaffoldを、Herokuにデプロイするまで 

# はじめに
Railsでscaffoldで作成した簡易アプリを、Herokuにデプロイして、外部から利用できるようにするまでの一連の流れをまとめてみた。

# 環境
ruby 2.5.1p57
Rails 5.2.4.1
Ubuntu 16.04.5 LTS
Windows10
Vagrant

# 手順
Herokuでは、sqlite3が利用できず、PostgreSQLしか対応していないため、データベースは、必ず、PostgreSQLを指定してプロジェクトを作成します。
sqlite3のまま、Herokuにデプロイしようとするとコケるようです。

“`
$rails new myapp -d postgresql
$cd myapp
“`

Gemfileを開いて、**gem ‘pg’**が記述されている事を確認する。

“`
gem ‘pg’, ‘>= 0.18’, ‘< 2.0' ``` >
補足
ググると、Gemfileに**gem rails_12factor**も追加するように指示している情報もあるが、どうやら、古いバージョンのRailsの場合に必要だったようで

元記事を表示

Rails + MySQL + CircleCI で簡単なアプリ作ってみた

# はじめに
Qiita初投稿です!
巷によく聞くCircleCIを触ってみたくて簡単なアプリで実装してみた忘備録です。
遭遇したエラーを解決していく形で実装していきます。
間違いや修正点がありましたらご指摘いただけるとありがたいです!!

こちらの記事を参考にさせていただきました!
→ https://qiita.com/rentama/items/477d3dcae423373f7c0d

## 環境
– Rails: 5.2.3

## 概要
1. Railsアプリケーションと雛形の作成
2. rspecを用いたテストコードの記述
3. CircleCIでコミット時の自動テスト

# 1.Railsアプリケーションと雛形の作成
まずはアプリケーションを立ち上げましょう!

“`terminal:ターミナル
$ rails _5.2.3_ new test-app -d mysql
“`

今回は名前とテキストを持った商品テーブルを作成していきます

“`terminal:/test-app
$ rails db:create
$ rails g scaffold Item

元記事を表示

【第11章】Railsチュートリアル 5.1(第4版) アカウントの有効化

#はじめに
個人的な理解・備忘録を目的としてます。
筆者自身は[動画版Railsチュートリアル](https://railstutorial.jp/#screencast)で進めているため、アプリ作成中コード・ブランチ名などの若干の違いがありますので参考程度に流し見して頂けたら嬉しいです。
理解不足のため、何かありましたらコメント等ご指摘してくださると幸いです(^_^;)

#11.0 本章の目標
本章では、アカウントを有効化するステップを新規登録の途中に差し込むことで、本当にそのメールアドレスの持ち主なのかどうかを確認できるようにする。(仮に誰かがミスって登録しても大丈夫なように)

例.ECサイト登録した場合のユーザー(ユ)とサーバー(サ)のやりとり
1. (ユ)→(サ) 「このemailで登録で」
2. (サ)→(ユ) 「メール送ったから確認して」
3. (ユ)→(サ) 「来たメールのURLクリックしたよ」
4. 【NG】(サ)→(ユ) 「違うからもう一回だね」
4. 【OK】(サ)→(ユ) 「登録するね(DB書き込みするか)」

<実装内容>
(1) 有効化トークンやダイジェス

元記事を表示

ローカルリポジトリにコミットする際、Add Repositoryがクリック出来ない [自分用]

railsのバージョンによってはnewの際にgit initされないことがあるため。
ターミナル上で
$git initを行う。

元記事を表示

herokuでRailsAdminが原因でデプロイできないとき

##どのようなエラーか?
“`
#省略
NameError: uninitialized constant RailsAdmin
#省略
“`

##1.gemfileを開く

“`
#省略
group :development, :test do

gem ‘rails_admin’

#省略

“`
対策:開発、テストグループに入っているためその枠外から外してあげる。
その後、bundle installしてあげる。

これで、herokuに再度デプロイすればエラーはでなくなります。

元記事を表示

OTHERカテゴリの最新記事