TextMateのBundlerはこちら:
http://github.com/handcrafted/handcrafted-haml-textmate-bundle
NetBeansのプラグインはこちらでダウンロード:
FaqPluginInstall – NetBeans Wiki
ほぼハイライト以外は何の機能もないです。
HAMLでRubyコードを書いても入力補完も、リファレンスも出ませんでした。
http://github.com/handcrafted/handcrafted-haml-textmate-bundle
FaqPluginInstall – NetBeans Wiki
ほぼハイライト以外は何の機能もないです。
HAMLでRubyコードを書いても入力補完も、リファレンスも出ませんでした。
slugはurlをより綺麗に表示するためのものです。例えばこの記事のpermanent urlは”rails-id-slug-name-in-url”にしています。英語世界になるんですが、これのようにurlを見ただけでそのurl先の内容が大体わかるようにするのがslugです。
この記事ではRailsで”id + post.title”のような形のURLを作る方法を紹介します。
モデルクラス内にto_paramメソッドをオーバーライドするだけです。
例として
class Person
def to_param
"#{id}-#{name.parameterize}"
end
end
#controller
@person = Person.find(1)
# => #<Person id: 1, name: "Donald E. Knuth">
#view
<%= link_to(@person.name, person_path(@person)) %>
# => <a href="/person/1-donald-e-knuth">Donald E. Knuth</a>
上記のようにmodelクラスを修正するだけで、他の影響はないです。URL: ‘/person/1-kinopyo’と’/person/1′はどっちでも使えます。
parameterizeはRailsのビルトインのメソッドでurlに使う文字列に変換してくれるんです。しかし日本語などは完全にブランクに変換するので要注意です。
もしurlを”/person/kinopyo”のようにperson.nameにカスタムしたい場合はこれより少し複雑になります。興味のある方は下記リンク(英語)を参照してください。 http://augustl.heroku.com/blog/styling-rails-urls.
一つのHelperメソッドを作って、Modelに必須チェックが入ってるプロパティに対して必須マークの”*”を出力します。
まずapplicaton_helperにmark_requiredのメソッドを作ります。第一引数にはオブジェクト、第二引数はそのクラスのプロパティを渡します。
# application_helper.rb def mark_required(object, attribute) "*" if object.class.validators_on(attribute).map(&:class).include? ActiveModel::Validations::PresenceValidator end
viewのerbには下記のように@userインスタンス変数と:nameを渡します。もしUserモデルに:nameに対して必須バリデーションが存在すれば必須マークが出力されます。
<div class="field">
<%= f.label :name %><%= mark_required(@user, :name) %><br />
<%= f.text_field :name %>
</div>
参考リンク:http://railscasts.com/episodes/211-validations-in-rails-3
http://railscasts.com/episodes/211-validations-in-rails-3で学んだ技です。
Rails 3.0 beta4を利用しています。
カスタムバリデーションメソッドを作成する方法を紹介します。
こんなコードがあるとします。Userモデルのemailに対して妥当性チェックは普通こう書きます。
class User < ActiveRecord::Base
validates :email, :format => { :with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i }
end
ここの:format => の部分を抽出してemail_validateというバリデーションメソッドを作ります。
libフォルダにemail_format_validator.rbというファイルを新規作成します。
# lib/email_format_validator.rb
class EmailFormatValidator < ActiveModel::EachValidator
def validate_each(object, attribute, value)
unless value =~ /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i
object.errors[attribute] << (options[:message] || "is invalid")
end
end
end
そしてUser.rbのソースを下記のように修正します。
#User.rb class User < ActiveRecord::Base validates :email, :email_format => true end
:email_formatは自動的にEmailFormatValidatorにマッピングします。
http://b.hatena.ne.jp/guide/blogpartsにて自分のサイトの人気エントリーをブログパーツとして設置できます。
手順にしたがってブログのURLを入力して簡単の設定を行ったあとは貼り付けるコードが生成されるため、それをブログにコピペすればOKです。
できたらこんな感じです。なぜか画像が暗くなっちゃいました。
Railsでhas_and_belongs_to_manyを使うときにこんなエラーが出ました。
ActiveRecord::HasAndBelongsToManyAssociationWithPrimaryKeyErrorの中身は:
Primary key is not allowed in a has_and_belongs_to_many join table (articles_users).
これはメッセージの通りリンクテーブル(ここではarticles_users)にPKが設定されたからです。
:id => falseをmigration文に追加すればOKです。
create_table :articles_users, :id => false do |t| t.integer :article_id t.integer :user_id end
sqlite DB_NAME
DB_NAMEは実際のファイル名と同じです。例えば:
sqlite db/development.sqlite3
.tables
.ta
.schema TABLE_NAME
.help
.quit
.exit
詳しくはCommand Line Shell For SQLiteを参照してください。
Macではドット”.”で始まるファイルやフォルダは隠しフォルダ、ファイルになるようです。
Finderで表示する方法を紹介します。
はるか昔のメモです。。
defaults write com.apple.finder AppleShowAllFiles -bool true killall Finder
上記と全く同じ手順で、コマンドを書き換えます。
defaults write com.apple.finder AppleShowAllFiles -bool false
iPhoneでアプリケーションを購入して普通はそのままiTunesに同期できるはずですが、時々iTunesがやってくれないです。
あるいはiPhoneで一杯アプリを購入したり削除したりして、パソコンのiTunesとの差分が紛らわしくなったこともあります。その場合はiTunesのアプリを一旦全部削除して下記の方法で一気に同期すればOKです。
iTunesからiPhoneのデバイスを右クリックして、メニューから「Transfer Purchase」を選択
iOS4をインストールできたら、メールアカウントの設定画面をチェックしてみてください。
「メモ(Notes)」という項目が追加されているはずです。
この項目を「オン」にすればOK。
メモは、Gmail上で「Notes」というラベルがつけられています。
ちなみにカレンダーもGoogleに同期できます。
http://www.lifehacker.jp/2010/06/100623iphonenotes_sync.html