Rails

Railsで例外処理403/404を実装してmodule切り分け【実践Rails学習ノート#5】

はじめに 追記@2016/06/22 Railsでの例外処理についてこの後一度真剣に考えてみたので、先に貼っておきます。 totutotu.hatenablog.com 本編 Rails学習ノート続きです。 今回は403 Forbiddenの例外処理を作っていきたいと思います。 おおまかに以下のような…

【実践Rails学習ノート#4】例外処理500を実装する

前回に引き続き実践Ruby on Railsの学習ノートです。 今回は例外処理を行って例外ページに飛ばす、という機能を実装していきます。 以下のような流れで作っていきます。 controllerでraiseして例外を発生させる 共通のcontrollerで例外処理を行う振る舞いと…

実践Rails学習ノート#3【Viewで基礎を作る】

前回に続きまして実践Ruby on Railsの学習ノートの続きです。 今回はViewのデザインをしながらビジュアルの部分をまず固めていくような内容です。 名前空間を分ける このアプリは 開発者 顧客 ユーザ の三者の利用を考えているので、名前空間を分けておきま…

ガントチャートの使えるプロジェクト管理ツールredmineをHerokuにデプロイする

ここを参考に、まずはherokuにインストールしてみます。 Redmineをherokuにデプロイする - rochefort's blog 夜の間は使わないだろうということで。 git clone git://github.com/redmine/redmine.git cd redmine git checkout 2.1-stable cp config/database…

実践Rails学習ノート#2【RSpecテスト】

前回に引き続き勉強したところをメモしながらやっていこうと思います。 Gemfileにrspecを追加して、 # Gemfile group :development, :test do gem 'rspec-rails', '~> 3.0' end rspecは以下でインストールできます。 $ bundle exec rails generate rspec:ins…

実践Ruby on Rails学習ノート#1初期設定編

これから1日1章くらいのペースで実践Ruby on Railsをやっていこうと思う.まじでこのくらいのペースでやってかないとと焦っています...笑 と言っても仕事優先なので仕事の合間に本気でやるしかないですが... ということで実践RoRは全部で20章という構成にな…

【Rails】デプロイしたときにassetsがうまく適用されない

Railsでherokuにデプロイしたのに、なぜかうまくstylesheetやjavascriptなどのassetsが適用されていない。ってなったら、きっとAssetsPipelineのところ。 以下などを参考。 Rails Asset Pipeline on Heroku Cedar | Heroku Dev Center 以下を追加。これでRai…

Rails::Engineとはなんなのか

最近やっとコードを読むという習慣をつけよう、という意識が自分の中で芽生えるようになってきて、それでRailsのgemとか読んでるときにRails::Engineというのが毎回出てくる。 そしてその意味すらわからんおれやばいな。。ってなったのでここでちゃんと調べ…

deviseでユーザログイン機能を実装

以下を参考にさせていただきました。 Railsのログイン認証gemのDeviseのインストール方法 - Rails Webook deviseの導入 Gemfileにデバイスを追加してgemをインストールします。 # Gemfile gem 'devise' $ bundle install 次にデバイスの設定ファイルたちをイ…

Rackアプリをモバイルの実行環境でテストするためにpowを導入する

Rackアプリをモバイルの実行環境でテストするためにpowを導入する話 powをインストールします $ curl get.pow.cx | sh powder(powをcommand lineから使いやすくするgem)をインストールします $ gem install powder 動かしたいRackアプリのディレクトリ直下で…

【Rails】ローカルホストでmysql.sockがないってエラー

ローカルでWebrickを立ち上げようとしたときに起こる以下のようなエラーの解決策。 Can't connect to local MySQL server through socket '/opt/lampp/var/mysql/mysql.sock' (2) エラーの意味としては、「mysqlに接続するためのソケットファイルが指定した…

【Rails】buildメソッドの使い方

以下を参考にさせていただきました。 http://www.atmarkit.co.jp/ait/articles/1406/30/news030.html 親モデル.子モデル.build(name: "Yuta Totz") これで親モデルに属する 子モデルのオブジェクトを新しく作成できる。 以下は例。 current_user.favorites.b…

【Rails】DBをリセットしてmigrationしなおす方法

インデックスを貼るのを忘れたりしてあとから加えたりしたときにどうしようかということで調べてたら。(migrationファイルは原則重ねていくようにしましょう...笑) http://memo.yomukaku.net/entries/iDhORCE $ rake db:resetはDBをドロップし、ただdb/schem…

【Rails】複数のhas_many :throughがあるときのデータの取り出し

has_many :throughの関係が複数あるときの取り出しについて。 今は UserとDriverがFavoriteで関連付け UserとDriverがHistoryで関連付け されている状態になっていて、このとき fav_drivers = current_user.drivers とかでFavoriteの関連付けなのかHistoryの…

Railsで多対多の関連を実装する

参考記事 以下を参考にさせていただきました。 開発現場でちゃんと使えるRails 4入門(6):ActiveRecordにおけるモデルの「関連」とコールバックの使い方 (2/3) - @IT Railsで多対多のモデルを簡単に扱えるhas_many :through - このブログは証明できない。…

Azure + Nginx + Capistrano でRailsアプリのデプロイ

以下のWindows Azure公式ドキュメントにやり方があったので、ここを参考に進めていく。 http://azure.microsoft.com/en-us/documentation/articles/virtual-machines-ruby-deploy-capistrano-host-nginx-unicorn/azure.microsoft.com (heroku使いてぇ...) VM…

【Rails】rspecでAPIのテストを作成する

この記事は以下の記事の続きです 【Rails】簡単API作成 - 凸ろぐ こちらを参考にさせていただきました。 RailsでAPI作成とAPIのテストのまとめ - Rails Webook rspecでAPIのテストを作成する Gemfileに以下を追加。 group :development, :test do gem "rspec…

【Rails】簡単API作成

以下の記事のAPIのみの設定の部分を参考にさせていただきました。 RailsでAPI作成とAPIのテストのまとめ - Rails Webook ここでは、Uberみたいにドライバーを登録していくサービスのAPIを想定。Driverクラスってのを作ってます。 routes.rbに設定 config/rou…

Windows Azure + Rails でサーバーを構築してみる

Paas/IaaSってなに? Windows AzureはPaas/IaaSと呼ばれてるみたいです。 まずSaas(サーズ)とはSoftware as a Serviceの略で、 ソフトウェアを通信ネットワークなどを通じて提供し、利用者が必要なものを必要なときに呼び出して使うような利用形態のこと。…

【Rails】carrierwaveでupdateしたときにimageが空でも更新されてしまうのをなんとかする

なんか消える railsを使っていて、画像のアップロードにはcarrierwaveを使っているのだけど、updateのときに、画像の内容が空でもデータベース内の画像のパスを上書きしてしまうって感じになってる。 つまりパスは最新の日付に従って更新されるのにそれに応…

【Rails】複数テーブルで関連したデータを持つモデルをつくる

dotinstallに従ってやってみる。 今回はTaskというデータがProjectのデータに結びつくように設定してみる。 今まで自力で全部やってたじぶんにとってはめっちゃ違和感。慣れよう modelを生成 まずはmodelを生成する $ rails g model Task title done:boolean…

【Rails】renderを使って共通ビューを生成

アンダーバー付きのhtml.erbファイルを作成してそれを呼び出す。PHPのincludeとあんまやってることは変わんないかな 例えば、新しいデータを挿入する画面と編集画面を共通のビューで生成したい時には、こんな感じ <h1>Edit</h1> <%= render 'form' %> <h1>New</h1> <%= rende…

【Rails】createアクションが呼ばれるタイミングっていつなん...

以前の記事で、dotinstallを勉強してる途中にでてきた疑問点の考察。 ルーティングをみてみると、 ▶ rake routes Prefix Verb URI Pattern Controller#Action projects GET /projects(.:format) projects#index POST /projects(.:format) projects#create ne…

【Rails】newアクションとcreateアクションを実装してデータの新規登録機能を作る【dotinstallでRailsの基礎を勉強したノートその3】

リポジトリはここ。 https://github.com/totzYuta/dotinstall_ruby-on-rails エピソードごとにコミットするようにした。 今回は新規作成機能を実装する。 流れは以下のようになってる そのページへのリンクを作成 newアクションを定義 遷移先view(new)を作成…

【Rails】dbに格納したデータをとってくきてページに表示するの実装する【dotinstallでRailsの基礎を勉強したノートその2】

リポジトリはここ。 https://github.com/totzYuta/dotinstall_ruby-on-rails エピソードごとにコミットするようにした。 routing リクエストされたURLに対応してどのアクションを実行するのか設定をする config/routes.rbに以下を追加 root 'projects#index'…

Rails newした後に最初にやること【dotinstallでRailsの基礎を勉強したノートその1】

リポジトリはここ。 https://github.com/totzYuta/dotinstall_ruby-on-rails エピソードごとにコミットするようにした。 うまくrailに乗れるようになるために命名規則は強調した 目次 目次 Model Modelの作成 migrate 便利なコマンド Controller/View Contro…

【Rails】formのselectの簡単な使い方 - 表示と値の取得の仕方【CoffeeNote開発記】

ここら辺りがすごく参考になります。 select - リファレンス - - Railsドキュメント selectの使い方 今回はselectの自分が1番簡単だと思った使い方をメモしとく viewでのhtmlの出力はこんな感じで出来る。 <%= select_tag 'note[point]', options_for_selec…

Railsのブログエンジンpublifyを使ってみた - インストール,デプロイまでのみちのり

最近,新しいブログを始めようと思ってエンジンを何使うか迷っていたところで,publifyというものを知ったので使ってみることにした. github pagesで英語ブログを最近運用し始めたのだけど,jekyllは静的ページを作る感じのエンジンだし,今ちょうどRailsを…