Railsでモデルの並び順を変える

railsでmodelを取るとき

@user = User.all

とかでとれますが、順番をつけるなら

@user = User.all.order('id DESC')

とすれば、idの降順(昇順ならDESC外すか、ASC)になります
DESCって何?となる人のためには

@user = User.all.order(:id).reverse_order

のほうがいいかもしれません

UbuntuでPostgreSQLのgemインストールでエラー

Ubuntu 14.04でrailsでPostgreSQLを使おうと
まずpostgresqlをインストール
$ sudo apt-get install postgres

パスワードつけて
$ sudo passwd postgres
$ sudo -u postgres psql -c “ALTER USER postgres PASSWORD ‘postgres’;”

Gemを入れるため
$ vim Gemfile
gem ‘pg’

を追記

インストールでエラー発生
$ bundler install -j4

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

/home/vagrant/.rbenv/versions/2.2.0/bin/ruby -r ./siteconf20141227-1584-lh6tpc.rb extconf.rb 

checking for pg_config… yes
Using config values from /usr/bin/pg_config
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
checking for libpq-fe.h… no
Can’t find the ‘libpq-fe.h header
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.

これで直りました
$ sudo apt-get install postgresql-server-dev-9.3

Ruby on RailsにSpreeを入れてみた

railsでECサイトをやることになったのでspreeを使ってみました

公式の手順にしたがっています
http://guides.spreecommerce.com/developer/getting_started_tutorial.html#installing-rails

Ubuntu 14.04で試しています
rubyとrbenvがインストールされている状態にします
参考) Ubuntuにrubyを入れてみた
rubyは2.1.2を入れてました

$ mkdir spree
$ cd spree
$ bundle init
$ vim Gemfile
source “https://rubygems.org”
gem ‘rails’, ‘4.1.8’

と修正して
$ bundle update
$ bundle install

$ rails -v
4.1.8

でrails 入りました
imagemagickがいるというので
$ sudo apt-get install imagemagick

spree_cmdというgemを入れるといいらしいので
$ vim Gemfiles
gem ‘spree_cmd’
を追加
$ bundle install

railsプロジェクトを普通に作成
$ rails 4.1.8 new mystore

spreeをインストール
$ cd mystore
$ spree install –auto-accept

[code lang=text:text]
**************************************************
We added the following line to your application's config/routes.rb file:

mount Spree::Core::Engine, :at => '/'
**************************************************
Spree has been installed successfully. You're all ready to go!

Enjoy!

Warning: You're using Rubygems 2.0.3 with Spring. Upgrade to at least Rubygems 2.1.0 and run `gem pristine –all` for better startup performance.
[/code]

Rubygemsが古いと言われますが、後回しにして

アクセス
http://localhost:3000/
spree

管理画面はこのアドレス
http://localhost:3000/admin
spree2

spree@example.com / spree123
でログインできます