My Link Orderプラグインが動作しない場合

お久しぶりです。

いきなりwordpressネタです。

wordpressではリンク集を作成する機能があるのですが、並び替えができません。
カスタマイズするまでもないので、プラグインで対処しようと思い、「My Link Order」を導入しましたが、表示の際、管理画面で設定した並び順で並びませんでした。

どうやら最新バージョン(現在3.3.2)ではテンプレートへ記述する関数が違う模様。

以前

wp_list_bookmarks('category_orderby=order&orderby=order')

最新

mylinkorder_list_bookmarks('category_orderby=order&orderby=order')

念のためメモ

2012/02/17進捗

自分でサービスを開発するってことは、納期がないってことで
こだわろうとすればとことんこだわることができるけど、
どこで切り上げるかという判断が難しくなりますね

だからこそ、セルフマネージメントが必要なんだなあー
ってことで、上司に作業報告をするかのごとく、ブログに作業報告をしようと思います

作業進捗

  • 画面仕様作成中
  • DB設計中
  • ログイン機能を開発中
  • Rails3.2のセッションまわりを読んだり
  • TDDで進められるところは進めたり

…終わったとこないし

ちょっと勉強範囲広げ過ぎかな

validation一覧

validation一覧です。Rails3より、

validates_presence_of :title

というような記述が、

validates :title, :presence => true

という方式に変わりました。

validationの一覧

チェックしたか
  • :acceptance => ture
確認入力
  • :confirmation => true
範囲に入っていないか
  • :exclusion => { :in => %w(admin superuser) }
範囲内か
  • :inclusion => { :in => 0..9 }
フォーマットが正しいか
  • :format => { :with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i, :on => :create }

正規表現で設定します

<オプション>

  • with

指定した正規表現にマッチする

  • :without

指定した正規表現にマッチしない

長さのチェック
  • :length => { :maximum => 30 }
数値のチェック
  • :numericality => true

<オプション>

  • :only_integer

integerのみ

  • :greater_than

設定数よりも大きい

  • :greater_than_or_equal_to

設定数以上

  • equal_to

設定数と同じ

  • less_than

設定数よりも小さい

  • less_than_or_equal_to

設定数以下

  • odd

奇数

  • even

偶数

入力があるか
  • :presence => true
重複がないか
  • :uniqueness => true

<共通のオプション>

  • :on

validateのチェックをするコンテキストを明示的に設定(デフォルトはsave)

  • :allow_nil

nilの場合はvalidateのチェックをしない

  • :allow_blank

blankの場合はvalidateのチェックをしない

  • :if

例えば、
validates :password, :presence => { :if => :password_required? }, :confirmation => true
のように使用する

  • :unless

ifの逆

allocateとnew

rubyのallocateとnewの違い

class Blog
  def initialize
    p 'initialize!'
  end
end

a = Blog.allocate
p '*' * 10
b = Blog.new

結果

"**********"
"initialize!!"
まとめ

allocateはインスタンスを生成する。
newはallocateを生成した後initializeを使い初期化する。



開発進捗

開発するサービスのプラットフォーム選定&外部設計(手書き)&詳細設計(DB定義)を平行してやっています。

勉強することが目的なんで、寄り道しながらじっくりと進めています。

どこかでうまくアウトプットします。


ちなみに今日は気分を変えてRails3.2のActiveRecordをコード読んでました。やっぱり他の人のコードを読むのは勉強になるね。

scaffoldとそのデプロイメモ

長文をかく時間がなく、取り急ぎメモまで

rails _3.1.0_ new blog
cd blog

Gemfileの以下の部分を

gem 'sql'

から

group :production do 
  gem 'pg'
end

group :development, :test do
  gem 'sqlite3'
end

に変更

bundle install
git init
git add .
git commit -m "init"
heroku create --stack cedar
rails g scaffold blog title:string comment:text
git push heroku master
heroku run rake db:setup

pushしようとするとエラーになる。

せっかくなのでサービスを立ち上げようと思っているのですが、下準備としてHerokuの勉強をしています。

windowsで開発しようとすると、大抵エラーに悩まされますね。

で今回遭遇したエラーは

git push heroku master

をしようとすると、

Permission denied (publickey).
fatal: The remote end hung up unexpectedly

となるものです。

これはどうやら、sshの公開鍵の作り方に問題があるようで(Git GUIから作っていました)、Git Bashより以下のコマンドを実行して再度作成すると解決できました。(windowsのせいではないか…)

ssh-keygen -t rsa

その後以下のコマンドでファイルを更新することも忘れずに~

heroku keys:add


Linuxの開発マシン、やっぱり必要だなー