- 1. はじめに
- 2. アプリを実装するまで
- 2.1. 【rails】任意のバリデーションを設定
- 2.2. webサーバーとアプリケーションサーバーの違いについて
- 2.3. Rails5からRails6へのアップデート手順(Rails5.2.6.2→Rails6.1.4.7)
- 2.4. 【Rails】present?を少し理解してみる(クイズあり)
- 2.5. こんな感じでRailsコンテナーを作ると良いのではないか?
- 2.6. 未経験からITエンジニアとして転職するためにテックキャンプに通ってみた
- 2.7. Rails4からRails5へのアップデート手順(Rails4.2.11→Rails5.2.6.2)
- 2.8. 【rails】active_storageに簡単にバリデーションを追加
- 2.9. 既存のJavaScript + importmap で動かす備忘録
- 2.10. 超簡単 Rails タイトルを動的にする
- 2.11. Rails7でfont-awesomeを表示させる方法
- 2.12. RailsのTransactionについてのメモ
- 2.13. Railsプレイヤーと一緒に仕事をするWebデザイナー向けのノート
- 2.14. 【rails】【rspec】RspecでRails のActionMailer の本文をテストする
- 2.15. 【Rails】【Ruby】decoratorでHTMLのタグを作る【初心者】
- 2.16. HTMLの基礎知識(YoutudeのURL 投稿と反映)
- 2.17. 基本的なRailsの文法
- 2.18. HTMLの基礎知識(星評価の平均)
html_safeの意味
# 背景
controller.rbにhtmlを埋め込んでもhtmlの下のようにソースコードが表示されてしまう**失敗例**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/177825/1b451b2c-80a3-f73d-9015-d792c62a6c8b.png)# 結論
`render html: msg.html_safe`
このように、html_safeを入れること
**成功例**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/177825/8781e6f0-a3b5-779c-afb6-acff8548bea1.png)# 全体ソースコード
“`ruby:改善後sample
class HelloController < ApplicationController def index #render plain:"Hello, This
50代・ほぼ独学・文系・未経験で2ヶ月半でWebアプリを開発するまで!【Rails+Nginx+Docker+AWS】
はじめに
コロナ禍の中で会社経営をあきらめ、50代目前にして「Webアプリの開発者に、オレはなる!」と決意し、2ヶ月半でアプリを作成した経緯をご紹介させていただきます。
アプリを実装するまで
今回のアプリを作成する「前」のおもな自分のスペックです。
+ アプリ開発前の年齢は限りなく50歳。
+ 大学は思いっきり文系の大学。
+ 元WEBデザイナーなのでHTML,CSSなどの知識はある(JavaScriptはコピペ)。
+ 独学でProgateやRails Tutorialをやったことがある。
+ アメリカの大学卒なので英語の公式ドキュメントや記事は読める(ただしプログラミング関係は日本語でも理解がむずかしかったりするのでそこまで有利に感じなかった)。
+ 今回採用したDocker, AWS, Nginxの知識は「どこかでそんな単語を見たことあるような」のレベル。3年間ほど、書籍などを通して自分なりにアレンジをしたアプリを作成したことがあり、自社で
【rails】任意のバリデーションを設定
単体テストコードでエラーと超格闘してます。そこでバリデーションを任意で設定する方法について、わかったのでアウトプットします。
やり方
“`ruby:model
class Room < ApplicationRecord validate :deadline_date #deadline_dateはメソッド名 private def deadline_date if deadline.nil? errors.add(:deadline, "締切を入力して下さい") end end end ``` 注意点 ・普段バリエーションを追加するときは「validates :カラム名, presence: true」というように記述しますが、今回は「validate メソッド名」と記述していると点 ・メソッドはprivateより下に記述すること。 ・今回はメソッド(deadline_date_cannot_be)がtrueの場合、バリデーションが作用し、エラーメッセージに"締切を入力して下さい"が追加される
webサーバーとアプリケーションサーバーの違いについて
## なぜ記事を書こうと思ったか
アプリケーションサーバーとWebサーバーについての明確な違いと例えば、どのような種類があるか調べた為、備忘録としてまとめる。## webサーバーとアプリケションサーバーの説明
– webサーバー(例:Nginx、Apache、WEBrick)
ユーザーから送られてきた自サイトへのリクエストを受け取り、なんらかの処理を加えるプログラムです。そして、場合によってはあなたのRailsアプリケーションにリクエストを投げます。SSLリクエストや静的なファイルやアセット、圧縮されたリクエスト等を処理したり、その他大半のwebサイトが必要としそうな数多くの処理をこなしたりすることができます。もし、Railsアプリケーションがリクエストを処理しなければならない場合は、webサーバーはリクエストをアプリケーションサーバーにパスします。
複数のアプリケーションを一度に処理したり、アセットを素早くレンダリングしたり、リクエストごとに発生する多くの処理をさばいたりしてくれます。– アプリケーションサーバー(例:Unicorn、Thin、Rainbows、Mongr
Rails5からRails6へのアップデート手順(Rails5.2.6.2→Rails6.1.4.7)
Rails5からRails6へのアップデートメモ
===================================今更ですが、rails4からrails7までアップデートする必要があったため
Rails4→Rails5
Rails5→Rails6
Rails6→Rails7
のアップデートで手順をまとめていきます。ここではRails5→Rails6の手順を書いていきます。
## 事前準備
### testが通るようにしておく
testを通るようにしておくと、アップデート後に、どこがエラーになるのか確認しやすいです。
事前にtestが全て通るようにしておきましょう。### Ruby Version
今回はRuby 2.7.5 で対応してます### gccのバージョンを確認しておく
mini_racerをインストールするためには、gcc6.3以上が必要になってきます。
今回centos7にはyum installで新しいバージョンを入れられなかったため
devtoolsetを使用してインストールしました。
詳細は後ほど記載します。## Railsをアップ
【Rails】present?を少し理解してみる(クイズあり)
# 僕はpresent?について「完全に理解」していた
Railsにはpresent?という便利なメソッドがあり、使う機会も見る機会もなかなかに多いです。present?はblankではないオブジェクトに対してtrueを返してくれて、だいたいの場合において直感通りの挙動を示します。(`present? = !blank?`)
しかし先日少し直感とは反する挙動に遭遇し、せっかく検証したのでメモを残しておきます
# blank?ってなんだっけ?
blank?メソッドの仕様はこちら
https://api.rubyonrails.org/classes/Object.html#method-i-blank-3F
> An object is blank if it’s false, empty, or a whitespace string. For example, false, ”, ‘ ’, nil, [], and {} are all blank.
falsyなオブジェクト or emptyなオブジェクト or 空白文字がblankなオブジェクトになります。
つま
こんな感じでRailsコンテナーを作ると良いのではないか?
### やってみたこと
RailsでWebサービスを行うプロジェクトに参画したがどんな風にプロダクション用のDocker化をするのが良いか勉強がてらやってみた。
### これを書いてる人のスペック
ここ10年ぐらいの RubyとRailsの文化を知らない。出始めにちょっと触ったことはあるが、すごく流行っていた時期にはほとんど触れる機会がなく、今更だけどRailsを勉強中。
– 実は[RailsによるアジャイルWebアプリケーション開発](https://www.amazon.co.jp/dp/4274066401)の初版本は読んでいた。
– プロダクションレベルでRailsアプリの開発運用経験なし。(ゼロ年代にPoCや簡易ツールの為には利用あり)
– [gem](https://rubygems.org/profiles/hkato)パッケージを一つだけ登録したことがあるがゼロ年代の話(対象Adobeのサービスは終了済み)。
– Railsで書かれているRedmineからGitLabの[プロジェクト移行ツール](https://github.com/redmine-gitlab
未経験からITエンジニアとして転職するためにテックキャンプに通ってみた
# テックキャンプを受講してみて
私は、未経験でのITエンジニアへの転職を行うためにテックキャンプというプログラミングスクールに通っていましたので、今後検討される方のために感想を中立な立場として記述したいと思います。
なお、こちらの記事の内容は一個人の見解ですので、参考程度にしていただければと思います。
その上で、私の属性は以下を参考にしていただければ幸いです。# 前提条件
【当方の前提条件】
・大学は私立文系で3年次より金融専攻
・銀行の営業員として業務に従事
・新卒で入社した企業を1年で退社した、24歳の人
・在職中にHTML&CSSは本を使って学習
・スクール学習期間中は、11時間程度学習(土日関係なし)# 結論
テックキャンプはお勧めできる。(条件付き)
考える上で「学習内容について」「費用面」「転職活動面」の大きく3つに分けてお話しします。みなさんが気になるであろう上記3つ以外にももちろんスクール選びのための要因や比較等もあると思いますが、ひとまずこちらの3点だけ記述させていただこうと思います。### 学習内容について
他社サービスとは比較していないですが、テッ
Rails4からRails5へのアップデート手順(Rails4.2.11→Rails5.2.6.2)
Rails4からRails5へのアップデートメモ
===================================今更ですが、rails4からrails7までアップデートする必要があったため
Rails4→Rails5
Rails5→Rails6
Rails6→Rails7
のアップデートで手順をまとめていきます。ここではRails4→Rails5の手順を書いていきます。
## 事前準備
### testが通るようにしておく
testを通るようにしておくと、アップデート後に、どこがエラーになるのか確認しやすいです。
事前にtestが全て通るようにしておきましょう。### ruby更新
rubyが2.5.7だと対応してないgemがいくつかあり、
gem updateでエラーが出たので2.7.5にupdateしました。## Railsをアップデート
### gemfileの修正
gemのrailsのバージョンを変更する
“`
変更前
gem ‘rails’, ‘4.2.11’
“`“`
変更前
gem ‘rails’, ‘5.2.6.2’
“`
【rails】active_storageに簡単にバリデーションを追加
画像投稿を簡単に導入できるactive_storageというGemがあります。画像投稿は簡単に実装できるようになりますが、PDFなども画像として投稿可能なため、思わぬエラーの原因になり得ます。そこで、バリデーション設定するにアウトプットします。
![スクリーンショット 2022-07-24 7.41.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2707093/525ce0cf-f621-8eeb-f08e-e5622c8fc91c.png)
# 結論
Active Storage ValidationsというGemを導入すると、既存のvalidateと同じような記述でバリデーションを追加できます。もう1つの方法は自身でバリデーションのメソッドを定義する方法ですが、今回こちらは紹介しません。
導入方法
“`ruby:gemfile
# Rails 5.2 and Rails 6バージョンのみ利用可能
gem ‘active_storage_validations’
#記述後bundle ins
既存のJavaScript + importmap で動かす備忘録
既存のJavaScript `app/assets/javascripts/` と
Importmapに対応したJavascript `app/javascript/` の共存、その備忘録になります。ここでは、`js_compressor` にTerserを利用しています。
## Gemfile
“`ruby:Gemfile
…# The original asset pipeline for Rails [https://github.com/rails/sprockets-rails]
gem “sprockets-rails”# Use JavaScript with ESM import maps [https://github.com/rails/importmap-rails]
gem “importmap-rails”# Terser minifies JavaScript files by wrapping TerserJS to be accessible in Ruby [https://rubygems.org/gems/terser]
g
超簡単 Rails タイトルを動的にする
# 使用環境
– Rails 6~
– Ruby 3.1.0
– M1 Mac
# Rails タイトルを動的にする方法
自分も初学者ですが、誰でもできるよう、分かりやすく書いていきます。# app/helper/appliction_helper.rb
以下のコードをコピー&ペーストして下さい。
コードに関しては、、、調べて下さい?
僕はおまじないだと言い聞かせてます?“`
module ApplicationHelper
BASE_TITLE = “KAKEIBO”.freeze #ここで変えたいタイトルにしてる
↑ここを変えたいタイトルにしてあげるdef full_title(page_title)
page_title.blank? ? BASE_TITLE : “#{page_title} – #{BASE_TITLE}”
end
end
“`# app/views/layouts/appliction.html.erb
タイトルタグを以下のコードに変えてください。
“`
#変更前
te
Rails7でfont-awesomeを表示させる方法
### はじめに
今回の解決策は憶測の結果なので、こういった事例もあったのか程度に見ていただければと思います。
### 解決したい問題
ポートフォリオ用のアプリケーションをRailsで作ってる際起きました。
詳しくはこちらをご覧ください
https://qiita.com/woodman0224/questions/96013b924619b77e1cd8qiita内でも色々な記事を見て解決策を探していたのですが
中々見つからず途方に暮れる事早一日。
いっそのことエラー箇所をコメントアウトしようと思い、
してみたところなんと!表示されました!!!泣### やってみたこと
application.scssが現状このような状態です!
“`scss
//@import “font-awesome-sprockets”;
@import “font-awesome”;
“`
となるとおかしいなと思ったので確かめてみたら
“`scss
// @import “bootstrap-sprockets”;
@import “bootstrap”;
“`
RailsのTransactionについてのメモ
## ActiveRecord::Base.transaction
複数のSQLが発行されるときに、すべてのアクションが終わったときにDBを更新する。## 具体的には
以下のようなブロック内に処理を書いていく。“`ruby
ActiveRecord::Base.transaction do
# 処理
end
“`
例えばインスタンスメソッド内で
“`ruby
ActiveRecord::Base.transaction do
users.each do |user|
user.update!
end
self.save!
end
“`
これですべての処理の保存と更新を一括で行うことができる。
Railsプレイヤーと一緒に仕事をするWebデザイナー向けのノート
# 目的
Railsでサーバーサイド設計をしている僕が、Webデザイナーの方とチームを組んで1つのWebアプリを作ることになりました。
相手の方はWebデザイナーとして十分な実力を持っていますが、サーバーサイドエンジニアと一緒に仕事をするのは初めてということでしたので、Railで作成したWebアプリがどのようになっているのかをまとめたいと思います。# 準備
実際に作業に入る前に、まずは一緒に仕事をする準備をしましょう。## Rails環境を構築する
RailsでWebアプリを動かす(ローカルサーバ上でアプリを走らせる)には、Rails環境が必要になります。
下記記事を参考に、`rails s`でローカルサーバを立ち上げられるようにしておいてください。
[Ruby on Railsの環境構築をしてみよう!(Windows)](https://prog-8.com/docs/rails-env-win)## gitでプロジェクトを共有
まずはgitでプロジェクトを共有します。
こちらの記事を参考に、自分のレポジトリにプロジェクトフォルダを作成してください。
[GitHub で他
【rails】【rspec】RspecでRails のActionMailer の本文をテストする
## はじめに
未経験からエンジニアに転職して、4ヶ月ほど経つエンジニアです。
RspecでRails のActionMailer のメール本文に期待通りの文章が表示されているかどうか
をテストする方法についてです。![アイコンバー.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/916052/61a0d3ee-6ff7-f4ca-bb00-622c3c99cfa5.jpeg)
## 結論
~~~ruby
expect(ActionMailer::Base.deliveries.last.html_part.body.to_s).to match(“メール本文の内容を書きます”)
~~~
上記のように↓を使うとテストできます。
~~~ruby
expext(XXXX.html_part.body.to_s).to match(“”)
~~~## 具体例
~~~ruby
# models/send_mail.rb
def send_mail
# メールを送信する処理
mail.deli
【Rails】【Ruby】decoratorでHTMLのタグを作る【初心者】
## はじめに
未経験からエンジニアに転職して、4ヶ月ほど経つエンジニアです。
![アイコンバー.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/916052/61a0d3ee-6ff7-f4ca-bb00-622c3c99cfa5.jpeg)今回は decorator で HTMのタグを作る方法を手短に紹介します。
rails の gem ‘draper’ を使用しています。~~~ruby
def user_status_tag
h.tag.span class: “[text-weight-bold”] do
# 描画したい文字や変数、メソッドなど
end
end
~~~↓に使いたいHTMLのタグを続ければOKです。↑ではspanを使っています。
~~~ruby
h.tag.HTMLのタグ名
~~~↓のようにスタイルを当てることもできます。
~~~ruby
class: “[text-weight-bold”]
~~~## 最後に
今回は decorator
HTMLの基礎知識(YoutudeのURL 投稿と反映)
みなさん今日もプログラミングの学習お疲れ様です!!
今回はYoutudeの動画を投稿し、それを詳細ページに反映する機能を実装していきます!!:sunny:
Step1:モデルを作成 “`ruby:ターミナル
rails generate migration AddYoutubeUrlToTweets youtube_url:string
“`“`ruby:ターミナル
rails db:migrate
“`Step2:コントローラーの追加 “`ruby:tweets_controller.rb
private
def register_params
params.require(:register).permit(:youtube_url)
end
“`Step3:newにyoutude_urlのデータを追加 “`ruby:tweets_new.html.erb
<%= @tweet.label :youtube_url %>
<%= @tweet.t
基本的なRailsの文法
## はじめに
ドットインストールにてRailsを勉強しているのですが、知識を記憶に定着させるため、学んだこと、調べたこと、自分で考えたことなどを書いていきます。
何かご指摘があれば教えていただければ幸いです!## 環境
Ruby: 2.6.5p114
Rails: 5.1.7
教材内のバージョンに合わせました。## ログファイルの場所
“`ruby
log/development.log
“`## モデル作成
“`:zsh
rails g model Post title:string body:text
“`Modelは個々のデータ構造を定義するので、Postのように単数形になる。
上記を実行した後、いろいろなファイルが作成され、今作ったデータの構造をデータベースに反映させるには、下記を実行する。
“`:zsh
rails db:migrate
“`## データベースを使う
“`:zsh
rails dbconsole # rails dbと省略できる
.tables # 存在するテーブルを見る
“`## 初期データの流し込み
HTMLの基礎知識(星評価の平均)
今日もプログラミングしていますか?:sunny:
今回は星機能の平均の出し方を実装していきたいと思います!!
*注意
ここでは以下の詳細ページの実装が大前提となっております!!!“https://qiita.com/tomo089/items/246230912c32aa5c7864”
Step1:コントローラーの追加 “`:tweets_controller.rb
def show
@register = Register.find(params[:id])@reviews = @register.reviews
@review = Review.new
#変更箇所
@totals=@reviews.average(:eve)
#ここまでend
“`Step2:Viewの追加 “`:tweets_show.html.erb.
平均評価
OTHERカテゴリの最新記事
-
- 2024.09.19
JavaScript関連のことを調べてみた
-
- 2024.09.19
JAVA関連のことを調べてみた
-
- 2024.09.19
iOS関連のことを調べてみた
-
- 2024.09.19
Rails関連のことを調べてみた
-
- 2024.09.19
Lambda関連のことを調べてみた
-
- 2024.09.19
Python関連のことを調べてみた