うめぼしジョイスティック - ivoice

CakePHP、JavaScript、jQuery等のプログラミングについて書いていきます 思考は、うめぼしのように硬く、そして柔らかく。

CloudflareでHerokuからRender.comにサイトを移動する方法

Herokuで独自ドメインを実現させるためにCloudflareを使用している場合は (example.comドメインの場合) TYPE: CNAME Name: example.com Content example.herokuapp.com というレコードと TYPE: CNAME Name: www Content example.herokuapp.com というレコ…

Cloudflareでルートドメインからのアクセスをwww付きドメインに飛ばす方法

Herokuの無料プランではルートドメイン(wwwなし)が許可されていません。 なので、ルートドメインでのアクセスをwwwドメインにリダイレクトしておくと良いです。 その方法を簡単にメモしておきます。 今回参考にしたのは 『Heroku + Cloudflare』でルートド…

AbstractController::Helpers::MissingHelperErrorっていうエラーが出た。

Railsをいじってたら「AbstractController::Helpers::MissingHelperError」というエラーが出ました。 環境:Windows10 stackoverflow.com ここに書いてあったのですが、 e.g. when your Rails app is in a folder named RailsApp: PS C:>cd RailsApp PS C:\R…

Railsのバージョンを上げた

Railsのバージョンを上げました。 Windows10環境で、Rails 5.1.6から Rails 5.2.1に。 【やったこと】 GemfileのRailsのバージョンを5.2.1に変更する gem 'rails', '~> 5.2.1' こういう感じ。 あと gem 'bootsnap', require: false Gemfileにこちらも追加す…

Railsのあれこれ その5

既存のモデル(テーブル)にカラムを追加する 既存のテーブルに追加でカラムを追加します。 結構複雑です。 まず、ターミナルで rails g migration add_image_name このように、カラムを追加するためのマイグレーションファイルを追加します。 「add_image_n…

Railsのあれこれ その4

ログイン・ログアウト処理はややこしい ルーティングは get "login" => "users#login_form" post "login" => "users#login" post "logout" => "users#logout" このように、ログアウトはpostになる。 new.html.erbのビューに <% @user.errors.full_messages.e…

Railsのあれこれ その3

editとupdateはややこしい editアクションとupdateアクションは結構頭がこんがらがります。 まずルーティングは post "users/:id/update" => "users#update" get "users/:id/edit" => "users#edit" こういう感じ。 この場合はusersコントローラのupdateとedi…

Railsのあれこれ その2

メールアドレスのバリデーション(重複なし) メールアドレスは被らないようにするため、バリデーションを使います。 validates :email, {presence: true, uniqueness: true} Userモデルでこのようにバリデーションを定義します。 また、ユーザー名は valida…

Railsのあれこれ その1

エラーメッセージ コントローラー @post.errors.full_messages でエラーメッセージを取得する。 この場合は @post というインスタンスに入ったエラーメッセージをすべて取得している。 これをビューで表示させるには <% @post.errors.full_messages.each do …

Railsで投稿にバリデーションを設定する

Railsで投稿にバリデーションを設定する場合には、バリデーションを設定したいモデルで宣言をします。 class Post < ApplicationRecord validates :text, {presence: true, length: {maximum: 100}} end Postというモデルでtextという名前のテーブルに、「入…

HerokuにRails5を独自ドメインでSSLでデプロイする方法(自分にしか分からないレベルのメモ)

HerokuにRails5をSSLでデプロイする方法です。 ・アプリケーションはHerokuにデプロイ済みであること。 ・ドメイン名は仮に sample.com とします。 ・CloudFlareを使います。 アプリ名は hello-appとします。 まず、CloudFlareで設定をします。 【完全無料】…

RailsをGitで管理するための最初の設定(自分用メモ)

RailsをGitで管理するための最初の設定のようなもの。自分メモ。うろ覚えです。 とりあえず分かれば良い的な感じ。 Gitで最初にRailsを管理するための下準備的なもの。 あらすじ [Linux上で] hello_appというフォルダでRailsアプリ作成。(rails new hello_a…

ConoHaのVPSでRails5をドメインでデプロイするための最後の設定。ポート番号を使わない方法

ConoHaのVPSでRails5をドメインでデプロイするための最後の設定です。 1. nginxの設定 例えば hello_app という名前のrailsのアプリを作ったとしたら、それがアプリ名です。 このアプリ名を使っていきます。 この記事では仮に 「hello_app」 をアプリ名とし…

ConoHaのVPSでRails5をIPアドレスでアクセスできるようになった後にお名前.comで取得したドメインでアクセス出来るようにする方法

覚え書きです。 ConoHaのVPSで、IPアドレスでRails5のウェブページにアクセスできるようになった後、今度はお名前.comで取得しているドメインにアクセスできるようにする方法です。 akb428.hatenablog.com こちらの方法でほぼ大丈夫でした。 1. ドメインを用…

ConoHaのVPS(Cent OS)を使ってIPアドレスでRails5をデプロイする方法。ファイアーウォールでポート番号が制限されているので解放してから公開しよう。

ConoHaのVPS(OSはCent OS)のIPアドレスでとりあえずRails5をデプロイする方法です。 ConoHaのVPSのCent OSでは、ファイアーウォールでポート番号が非公開になっています。 CentOS 7 firewalld よく使うコマンド qiita.com 上の記事を参考にしました。 まず…

Windows10でXAMPPのPHPのパスを通すための設定方法

Windows10でXAMPPのPHPのパスを通す設定方法です。 XAMPPをインストールした段階では、コマンドプロンプトでPHPを動かそうとすると(Cakephpのbakeなど) 「'php'は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識さ…

CakePHP2.xでsaveをしてcreatedに日付時間データが入らない場合はカラムの照合順序を見なおそう

このように、種別をtimestamp、 属性をon update CURRENT_TIMESTAMP、 デフォルト値をCURRENT_TIMESTAMP、 その他をON UPDATE CURRENT_TIMESTAMP のように設定しましょう! 特に、デフォルト値がCURRENT_TIMESTAMPになっていることが重要です。 これで、save…

AclNode::node() - Couldn't find Aro node identified by "Array ( [Aro0.model] => のバグ(エラー)が出る理由について

CakePHP2.x系で、ACLプラグインを使用していて、データをdelete(削除)すると、このエラーが出ました。 結論として ・SQLにインポートして入れたデータはarosに登録されていないので、消すとエラーが出る ・エラーそのものに害はないし、データは消えるので…

CakePHP2.xで、複数ログインを可能にして、通常のログイン(Email、パスワード)とTwitter認証を使い分ける方法

※この記事では、oauthのコールバック処理はUsersコントローラのopauthComplete()アクションで行っています。 oauthの導入に関してはこちらを参照してください。 CakePHP2.x系でTwitterやFacebook連携認証を可能にするOpauth認証を実装する方法が分かりやすく…

CakePHP2.xでタイトル、ディスクリプションに変数(文字列)をページ毎に送る方法

viewファイルで、 assign('title_for_layout', $post); $this->assign('after_sentence', 'のページです'); $this->assign('discription_for_layout', 'ページです'); このように、title_for_layout、after_sentence、discription_for_layout を設定します。…

Aouthなどを使ってSQLにtwitterのidを入れるときに数値が合わない、ずれる原因

結論から言うと、データ型がintやfloatでは有効桁数が足りないからです。floatの有効桁数は6桁です。 twitterなどのidは10桁以上です。これだとint型でも有効数字が、-2147483648から+2147483647なので、 3000000000などの数字が入りません。(30億。) tw…

Htmlタグでリンクの漢字にルビをふる方法。(そして、平仮名にはルビをふらない方法)

Htmlで、リンクの漢字にルビをふる方法です。 <a href="./ルートからの相対リンク/"><ruby>漢字<rp>(</rp><rt>かんじ</rt> <rp>)</rp></ruby>にルビをふる </a> このようにすると、 『漢字にルビをふる』 という文字の、『漢字』の部分だけに かんじ というルビがふられます! お試しあれ!

CakePHP2.xで、日付時刻(年月日)とcreatedを比較してデータを取得する方法

『7日以内のデータだけ取りたい…』等々思ったことはありませんか? 今回はそのような場合にデータを取る方法です。 結論からいうと、変数に、createdと同じ構造のデータを入れて、その後に findのconditionsで時刻で条件指定をすればOKです。 サンプルコー…

Macを持っているならXcodeでiPhoneアプリの一歩を踏み出そう。Xcodeの簡単な使い方。

iOSのアプリの統合開発環境のXcodeを使ってアプリっぽいものを作る最初の一歩の流れをざっくりまとめてみます。 (今回はswiftやobject-cなどのプログラミング言語は使いません!) Xcodeは、iPhoneアプリを作る場合に通常使われる開発環境です。これはMacで…

CakePHP2.x系でTwitterやFacebook連携認証を可能にするOpauth認証を実装する方法が分かりやすく書かれたブログまとめ

Cakephp2.Opauthプラグインを使ってTwitterログイン - 泣かぬなら作ってしまえホトトギスorekaihatsulog.hateblo.jp これが、一番役に立ったブログです。 やるべきことだけとにかく指示されているので、シンプルで分かりやすいです!!! Opauthは、Facebook…

Google Tag Managerを使ってサイトの変数をカスタムディメンションとしてアナリティクスに反映させる方法(ざっくり気味)

Google タグマネージャを使ってGoogle アナリティクスのカスタム ディメンションをセットする方法│株式会社イー・エージェンシー ここが参考になります。 前提としてはアナリティクスのタグをGoogle Tag Managerで設定していることが前提です。 流れは上のリ…

SQL文を書く最初の一歩を踏み出してみよう

SQL文を書くのは敷居が高いように感じるかもしれません。 でも、SELECT文から入れば、だんだんとステップアップしていくことができるでしょう。 SELECT文は、データベースからSELECT(選択)してデータを引っ張るだけなので、 データが壊れることはありませ…

CakePHPのupdateAllが出来ない時に出るエラーDatabase Error Error: SQLSTATE[42S22]: Column not found: 1054 Unknown column の対処法

CakePHPのupdateAll()でエラーが出るときはここが怪しい! - Qiitaqiita.com ここが参考になります。 というか、このままですが。 ここはハマる人が多そうなポイントなので改めて書いておきます。 一言でいうならば、 リテラル(文字や変数など)を '"'.リテ…

ACLが原因!?データがsaveできない、AclNode::node() - Couldn't find Aro node identified by "Array ( [Aro0.model] =>の対処法

CakePHP2.x系で Aclプラグインを使っていて saveをするときに、 AclNode::node() - Couldn't find Aro node identified by "Array ( [Aro0.model] => ...... Error: An Internal Error Has Occurred. というエラーが出たときの対処法です。 データベースを見…

さくらインターネットにおけるCakePHP2.xでの.htaccessの設定をすごく荒く解説

さくらインターネットをサーバーとしたときのCakePHP2.xの .htaccessの設定です。 ぜんぶで3つ.htaccessのファイルが必要です。 appフォルダがある階層と同じところの .htaccessは <IfModule mod_rewrite.c> RewriteEngine on RewriteBase / RewriteCond %{HTTP_HOST} ^(ドメイン\.s</ifmodule>…