deviseによるLogin認証機能@Heroku

やっぱりログインとか出来ないと駄目だよね、と思って初めは ASCIIcasts 270: Rails 3.1の認証機能 を参考にして実装してたんだけど、メール認証ってどうやるんだろと思ってググったらdeviseってのが便利すぎて自分で作るのがあほらしいと言うか「道具をうま…

railsProject内にapp/config/initializers/quiet_assets.rbを作る

3.2 Rails - Rack root tap approach を頂いて放り込めばおk!logがみやすい!

lib/webrick/httpresponse.rbにパッチを当てる

204_304_keep_alive.patchを参考にパッチをあてます。使用中のruby/libに入ってます。 これで取り敢えず [2012-08-15 13:14:05] WARN Could not determine content-length of response body. Set content-length of the response or set Response#chunked = …

rails serverのlogを見やすくする

ずっとログ見てると Started GET "/assets/twitter/bootstrap.js?body=1" for 127.0.0.1 at 2012-08-15 13:14:05 +0900 Served asset /twitter/bootstrap.js - 304 Not Modified (0ms) [2012-08-15 13:14:05] WARN Could not determine content-length of re…

サンプル

validates :url, :presence => true, :format => { :with => URI.regexp(['http', 'https']), :message => "has to be URL!" } とかするとURLかどうかのValidationが走る。 :messageは指定条件下で表示されるので、ちゃんと { } の中に入れてあげること。 今…

Validation

以下のmethodはValidationが走る。 create create! save # save(:validate => false) としてるとValidateしない。注意。 save! update update_attributes update_attributes! 以下はValidationせずにDBの書き換えとかする。注意。 decrement! decrement_coun…

学んだこと

DBレベルでValidationを走らせるのは一番厳密になるけど管理が大変 クライアントサイドでValidationするのは簡単。でも緩すぎ。 ControllerにValidation入れるのは良くない。煩雑化するから。Controllerは出来るだけスリムに。 ModelでValidationするのが妥…

Railsを学ぶ - Validationとか

学んだこと覚え書き

heroku run bashでheroku内部見れる git add .とgit commit -aはセットでやる。addしないと無意味。 "brand" %>とかの基礎的なerb構文もっと理解しないと。 参考: Heroku: One-off Processes

追記

■rake db:create:alldatabase.ymlに定義してあるデータベースを全部作ってくれる。developmentもtestもproductionも!でもlocalhostにしか作れません 引用元:新たなるrakeタスク db編 孔明すぎる。

Production modeで動作するためのmigrate

rake db:migrate RAILS_ENV=production とすることで、Production環境にmigrateを適応することが出来る。 (Heroku上で動作させるときはheroku run rake db:migra...としましょう) 実行時にずっと出ていたエラーは $ rails s -e production ActiveRecord::S…

rake db:migrate @ heroku

ローカルで動作するアプリがherokuでどうしても動作しないので困っていたのだけど、最終的にはrake db:migrate のやり方が分かってなかった、と言う至極単純な形で解決した。

bundle-install

以上の下ごしらえ(Rails-PostgreSQL)でrails new appname -d postgresqlが出来ます。 Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed. Yay!

postgreSQLを入れる。

またもHerokuを使うので、入れます。 $ sudo apt-get install libpq-dev ぐぐるとpostgresqlとか出てきますが、入れようとすると無効になってるのでlibpq-devを入れましょう。 $ sudo gem install pg gemも入れとく。

gemが入らない。

$ gem install rails ERROR: Loading command: install (LoadError) cannot load such file -- zlib ERROR: While executing gem ... (NameError) uninitialized constant Gem::Commands::InstallCommand そして入らない。 $ sudo apt-get install zlib1g-de…

UbuntuでRails開発環境

今日は某所の勉強会でもくもくと作業していたのですが、せっかく新しく買ったMacをオフィスに忘れたのでTypeP+Ubuntuなマシンで作業するハメに。 まぁ適当にプロジェクトでも作って勉強するか、と思ったらRailsが入ってない。

.DS_Storeがウザすぎて死ぬ

作業しててツリー表示とかでファイルが生成されるたびにピコピコ画面が動いて死ぬレベルだったので対策。 Asepsis からダウンロードして実行(OSX Lion以降のみ対応)で再起動後からは自動生成が止む。やってることとしては自動生成先を勝手に変えて消し続ける…

MacのDashboardを無効化する。

$ defaults write com.apple.dashboard mcx-disabled -boolean true $ killall Dock で無効化。ちゃんとMissionControlからもいなくなる。 戻したい時は $ defaults delete com.apple.dashboard mcx-disabled $ killall Dock でおk! 今週は週末が忙しいの…

earthquake

earthquake: Twitter terminal client with streaming API support しかもStreamingAPI対応!素敵! gem install earthquake で取り敢えず入る。でもPATHが通ってなかったので、.bash_profileを編集して通した。 terminalでearthquake打てば起動。初回はブラ…

Terminal Twitter client ”earthquake” + Mac OSX LionでDashboard

何か見やすいTwitterクライアントで開いてると気になって仕方ないので、Terminalで表示させてるくらいなら丁度いいかなーと思ったので探したらあった。要ruby環境。

Installing Twitter Bootstrap

デザイナーがBootstrap使ってるのでRailsプロジェクトに適応しやすいようにしておきます。あと適当に作った時も見た目がキレイだとうれしいよね。 Gemfileに gem 'twitter-bootstrap-rails' を追記します。通常通りにbundle installを実行後 $ rails g boots…

rails new appname -d

HerokuでデプロイするためにDBをpostgreSQLに変更していたのだけど、新しく作るときに $ rails new appname -d postgresql としてやることでDB周りの設定を全部自動でやってくれると知った。 ちょうべんり! $ rails --help new -d, [--database=DATABASE] #…

Railsもくもく

もくもくとやります。

Railsに戻る

取り敢えず先日落としてきたmioのソースコードをねっとり読みながらどうやって作ってるか勉強中。 routes.rb / schema.rb / 各controller.rb 辺りから始めてる。 そしてファイル開きまくってたらvimの利便性の高さが半端ないことに気づいた。Vimチートシート…

追記※

Herokuでも動くようになりました。rake db:create:allはlocalhostのみで有効らしいです。

ローカルでは動く状態に

postgres/postgreSQL FATAL: database “ew_dev” does not existで見つけた rake db:create:all を実行するとproduction用のDBも作られた!と言うわけでローカルでは動く状態に。 heroku run db:create:all を実行したが、依然として動かず…。 その後もHeroku…

Heroku上で動かない

すると変更がherokuにも反映される。と思ったら動かなくなった…。 The page you were looking for doesn't exist って言われる。 どうやら同様の問題は他にも起きているようなので、取り敢えず以下を試す。 プレコンパイルを有効にする。 # config/environme…

gitの流れ

ファイル操作をしたら git commit -a で変更したことをgitに教えてあげる。コメントを求められるので入力して git push heroku master

最初の流れ

#Projectの作成 $ rails new APPNAME #作成されるファイル一覧 #dbの設定 $ vim APPNAME/config/database.yml #dbを作る $ rake db:create #動作確認 $ rails s # http://localhost:3000にアクセスで確認 # デフォルトの入り口を消す $ rm public/index.html…

Railsもくもく→Herokuでつまる

取り敢えず出来ることからやって行かないと始まらないので、もくもくやります。 Getting Started with Railsを見ながら進めます。