はじめに Rails5でPDFの作成をするのに便利なgemのPrawnの使用方法について、備忘録的にまとめておきます。どなたかの役に立てば幸いです。 環境 Rails 5.1.6 データベースはmysqlを使用 gemの導入 まずはprawn導入用のgemをGemfileに追記します。
これは何? Railsガイドのマイグレーションを後で扱いやすいようにまとめました。 コマンドで生成するマイグレーション bundle exec rails generate migration hogehoge のhogehogeの部分を変えることで色々作成できるようなのでまとめます。 AddXXXToYYY カラム名:型 カラム名:型 ・・・ RemoveXXXFromYYY カラム名:型 カラム名:型 ・・・ CreateYYY カラム名:型 カラム名:型 ・・・ YYY:テーブル名(複数形) XXX:カラム名(複数カラム追加する場合は適当で良い) 上記はよく使うやつですが、こちらを参照するといかにいろんなコマンドが用意されてるかがわかるので必要に応じて使ってください。 僕の場合は、上記だけ最低限押さえた上で、あとはマイグレーションファイルを自作して行く形でいいのかなーと思ってます。
これは何? RailsガイドのActive Recordの基礎が理解をする上で非常によかったので、 振り返れるようにまとめます。 Active Recordって何? MVCのM、つまりモデルに相当するもので、Active Recordを介してデータベースとやりとりができます。 なお、データベースとやりとりをする時の考え方として、ORM(オブジェクトリレーショナルマッピング)を採用しており、 モデルをインスタンス化したオブジェクトと、MySQLのようなRDBを接続することで様々なことを直接SQL文を書かずに実現しています。 Active Recordの機能 モデルおよびモデル内のデータを表現する モデル間の関連付け(アソシエーション)を表現する 関連するモデルを介した継承階層を表現する データがデータベースに永続的に保存される前に検証(validation)を行なう オブジェクト指向の表記方
紹介(introduction) mrubyは、Rubyの小型版です。 mruby/cは、mrubyコンパイラを利用して生成した拡張子mrbファイルを実行できるさらに小規模なruby実行環境です。 http://www.s-itoc.jp/activity/research/mrubyc/ mrubyはRubyの基本機能を持っており、 mrubyコンパイラは、Rubyコンパイラのまつもとゆきひろさんが書かれています。 https://github.com/mruby/mruby 基本的なrubyプログラムは、mruby, mruby/cで動きます。 <この項は書きかけです。順次追記します。> 要点1 mruby/cの実行は、拡張子mrbファイルをmrubcコマンド(Vertual Machine)で呼ぶ 要点2 mrbファイルは、mrbcコマンド(mrubyコンパイラ)でrbファイルから変
概要 unicorn のワーカープロセスを変更するのに再起動していたら、 「それ、再起動しないでも出来るよ」って先輩に言われたので検証してみました。 unicorn/SIGNALS TTIN - increment the number of worker processes by one TTOU - decrement the number of worker processes by one 環境 CentOS 7.5 ruby 2.5.1 nginx 1.14.0 unicorn 5.4.1 実行結果 ワーカープロセスは 2 つ [root@localhost example]# ps auxwwf | grep -w [u]nicorn root 23609 0.7 8.0 688632 82084 ? Sl 14:54 0:00 unicorn_rails master -c
目的 初心者エンジニアとしてPCをセットアップする時に必要になりそうなことをまとめます。 目指すは、Ruby on Railsでの開発環境がセットアップできることです。 環境 macOS High Sierra rubyは標準搭載されています。 Xcodeは最初にインストールしておいてください エディターはatomを利用します。 目次 Homebrew rbenv gem mysql atom git redis Homebrew Homebrewはパッケージマネージャーです。 これは、Appleが用意してくれていないけど、開発するのに必要になるものを簡単にインストールしたり、 バージョンを管理したりすることができるものとなります。 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/insta
$ yum update -y $ yum install -y epel-release $ yum install -y gcc gcc-c++ make $ yum install -y git tig zlib-devel libxml2-devel libxslt-devel readline-devel openssl-devel ImageMagick ImageMagick-devel $ yum install -y curl-devel bind-utils sqlite sqlite-devel bzip2 which $ yum install -y httpd httpd-devel curl-devel bind-utils $ yum install -y mysql-devel $ yum install -y nodejs --enablerepo=epe
GCPの準備 プロジェクトを作成 APIを有効化 Cloud SQL を有効化(確認?) APIを有効化 Cloud SQL APIを有効化 Cloud SQLでインスタンスを作成 AppEngineを有効にする Cloud IAMの設定を行い、buildできるようにする(app_engineのbuild時にcloudsqlを操作できるようにする) $ gcloud projects add-iam-policy-binding [project_id] \ --member=serviceAccount:[project_number]@cloudbuild.gserviceaccount.com --role=roles/editor
はじめに 私が業務でRailsアプリケーションのルーティングをカスタマイズ・整理したときのメモです。 Ruby on Rails Guidesに書いてある中で、これ使うぞと思うものを自分なりにピックアップしました。 最近Railsの開発をしていないので、もっといい方法をご存知の方がいらっしゃったら声を大にして教えていただけると嬉しいです。 目次 基本形を自動生成しないで定義したいとき 階層構造をもったURLを定義したいとき オリジナルのActionをちょい足ししたいとき 複数のControllerにオリジナルのActionをちょい足ししたいとき 基本形を自動生成しないで定義したいとき CRUD全てを定義したいときは以下のように書けばよいです。 自動生成しても同じ内容がroutes.rbに定義されます。
An error occurred while installing pg (1.0.0), and Bundler cannot continue. Make sure that `gem install pg -v '1.0.0' --source 'https://rubygems.org/'` succeeds before bundling. Gem::Ext::BuildError: ERROR: Failed to build gem native extension. current directory: /Users/myname/.anyenv/envs/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/pg-1.0.0/ext /Users/myname/.anyenv/envs/rbenv/versions/2.3.1/bi
背景 先日gemを作った際に迷ったのがgemの命名。 Rubyを絵文字で書けるようにするGemつくった もともとは「🤔」にしようと思ってたのですが、gemの名前にマルチバイト文字は使えなかったので、 適当に"emozi"にしてしまいました。 これは"emoji"がすでに使われていたからではなく、 僕が作ったgemのせいで"emoji"というgemの名前が今後rubygems上では使えなくなるというのが憚られたからです。 思いつき 個人的な感覚だとこういう「他の人と競合しそうな名前」は避けたがるとおもうのですが、 そのへんを気にしない厚顔無恥の方が世界にはどのくらいいらっしゃるのか調べてみようと思いました。 調べてみた Rubygems上の1文字のgem名をスクレイピングしてみました。 mechanizeを使ってざっくりスクレイピング スクレイピングコード require 'mechani
まえがき Ruby on RailsのFormで、複数のチェックボックスの値をまとめて扱いたい状況って、割とよくあるんじゃないかなと思います。 ・検索で、都道府県を複数選択 ・タグ付けするときに複数タグをチェックボックスで選択 などなど。。。 その際に取れる選択肢は 1. check_box_tag 'prefecture[]'のように、check_box_tagでべた書きする 2. collection_check_boxesを使う が主になるかなと思います。 せっかくRailsを利用する以上、form_for(Rails5ではform_withも)のhelperに乗っかっていきたい! ということで、2のcollection_check_boxesを使う方法について記載します。 ないよう collection_check_boxesについて まず、collection_check_box
正規表現の量指定子には「強欲な量指定子」とか「絶対最大量指定子」と呼ばれるものがあります。 この記事では,どのような場合にこれを使うのか,一例を挙げます。 コード例は Ruby で記述しますが,Ruby をご存知ない方にも分かるよう説明を加えます。 強欲な量指定子に至るまでに,ちょっと遠回りをしますが,ご容赦を。 テキスト中から〈数字列+"円"〉を拾う まずは,テキスト中から,〈数字列+"円"〉をすべて拾い出したいとします。 Ruby では以下のように書けます。 1 行目はローカル変数への文字列代入です。 /\d+円/ は正規表現リテラルです。 正規表現を / / で囲むと正規表現リテラルになります。 str のあとにピリオドを置いて何かを書いているのは str に対するメソッド呼び出しです。 scan は,文字列に対して使えるメソッドです。引数で与えられた正規表現にマッチする部分文字列を
RailsのdeviseとStripe(とBootstrap)の組み合わせで、ただただユーザー登録したユーザーに定期更新購読させるだけのappを作りました①Railsdevisestripe定額課金定期更新購読 前書き 初心者向けに自分なりの言葉で柔らかく書いたつもりです。非エンジニアですが、メモ目的とアウトプットの恩恵のために記事にしました。間違っているところなどありましたら、コメントをください。 あとコードにコメントが多く視認性が悪いかもしれません。そこは申し訳なく… ※stripe実装やBootstrap実装は長くなってしまっているので②③の記事で分けて記述しています。 RailsのdeviseとStripe(とBootstrap)の組み合わせで、ただただユーザー登録したユーザーに定期定額課金させるだけのappの実装方法② RailsのdeviseとStripe(とBootstrap
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く