Hatena::Grouprails

おもしろWEBサービス開発日記のrailsメモ

2009-11-02

今週のrailscasts

23:25 | 今週のrailscasts - おもしろWEBサービス開発日記のrailsメモ を含むブックマーク はてなブックマーク - 今週のrailscasts - おもしろWEBサービス開発日記のrailsメモ

Railscasts - Pickle with Cucumber

pickleというcucumberのstepでモデルを設定できるようにするgemについて。軽く流し見。cucumber勉強したらまた見る。

本筋と関係ないけど気になったところ

テストで必要なgemはtest.rbにかく
sudo rake gems:install RAILS_ENV=test
decimal

カラムの型にdecimal使えるの知らなかった><

2009-10-26

今週のrailscasts

22:00 | 今週のrailscasts - おもしろWEBサービス開発日記のrailsメモ を含むブックマーク はてなブックマーク - 今週のrailscasts - おもしろWEBサービス開発日記のrailsメモ

先週のformtasticの続き

Railscasts - Formtastic Part 2

  • has_many :hoge :through => :fuga なモデルにも対応
  • 必須項目に*がつけられる。手動で管理する方法と下記のプラグインを使ってvalidates_presense_ofの有無をチェックして自動で*をつける方法がある。
  • 各項目のフォームの下にヒント(説明文)をつけられる

redinger's validation_reflection at master - GitHub

2009-10-21

今週のrailscasts

15:30 | 今週のrailscasts - おもしろWEBサービス開発日記のrailsメモ を含むブックマーク はてなブックマーク - 今週のrailscasts - おもしろWEBサービス開発日記のrailsメモ

formtasticというformを楽に書くgemについて。

Railscasts - Formtastic Part 1

  • カラムの型をみてinputのtypeを調整してくれるgem
  • textmate-bundleあり
  • stylesheetのgenerateコマンド

こんな感じで書ける。inputsでテーブル上のカラムの入力フォームをすべて自動生成してくれる。

<% semantic_form_for @users do |f| %>
  <%= f.inputs %>
  <%= f.buttons %>
<% end %>

もちろん出力するカラムをそれぞれ書くことも出来る。

<% semantic_form_for @users do |f| %>
  <% f.inputs do %>
    <%= f.input :name %>
    <%= f.input :age %>
  <% end %>
  <%= f.buttons %>
<% end %>

こんな感じ。これだけだとちょっと便利なformヘルパーって感じだけどまだ続きがあるらしい。

2009-09-30

findで共有ロック

12:45 | findで共有ロック - おもしろWEBサービス開発日記のrailsメモ を含むブックマーク はてなブックマーク - findで共有ロック - おもしろWEBサービス開発日記のrailsメモ

lockオプションをtrueにセットすることで共有ロックがかけられる

関連テーブルの個数を調べる方法

12:44 | 関連テーブルの個数を調べる方法 - おもしろWEBサービス開発日記のrailsメモ を含むブックマーク はてなブックマーク - 関連テーブルの個数を調べる方法 - おもしろWEBサービス開発日記のrailsメモ

頭を整理させるためのメモ

  • SQL
  • 個数を管理するカラムを作る
    • 手動で増減
    • カウンタキャッシュで増減させる

今週のrailscasts

12:43 | 今週のrailscasts - おもしろWEBサービス開発日記のrailsメモ を含むブックマーク はてなブックマーク - 今週のrailscasts - おもしろWEBサービス開発日記のrailsメモ

今週のrailscastsはActiveRecord::Base.findのオプションである:includeと:joinsの違いについて。

Railscasts - Include vs Joins

includeとjoinsはどう違うか

簡単に書くと

joins
関連テーブルは後で読む
include
関連テーブルは先に読む

という感じ。関連テーブルの情報を使わないのであればjoins、使うならincludeというところかな。

関連のネスト

下記のようにネストした関連もjoins, includeできる

Comment.all(:joins => {:user => :memberships}, :conditions => { :memberships => { :group_id => g.id } })

scopedメソッド

findメソッドをscopedに差し替えることで、named_scope風に検索条件をメソッドチェーンすることができる。

その他

本筋とは関係ないけど、へーと思ったことについて。

conditionsオプションにhashが使える

今まで配列ばっかり使ってた><

selectオプションやgroupオプションを使って関連テーブルの数を調べられる

下記のようなコードを実行すると、user.comments_countでコメントの個数を調べることが出来る。

user = User.all(:joins => :comments, :select => "users.*, count(comments.id) as comments_count", :group => "users.id")
pluralizeメソッド

これは覚えたい

pluralize(2, 'person') #=> people
all

find(:all, *args)使うなら all(*args)を使う方がスマート

2009-09-24

passengerのUser switchingについて

20:43 | passengerのUser switchingについて - おもしろWEBサービス開発日記のrailsメモ を含むブックマーク はてなブックマーク - passengerのUser switchingについて - おもしろWEBサービス開発日記のrailsメモ

passengerのuserは、railsであればconfig/environment.rbの所有者になる。これは共用サーバで複数のpassengerを使っている時等のセキュリティを考慮してのこと。

これを変更したい場合は

  • PassengerUserSwitchingをoffに(nginxではpassenger_user_switching)
  • PassengerDefaultUser(nginxではpassenger_default_user)でユーザを指定する

の二つの設定が必要になる

Phusion Passenger users guide

PassengerDeaultUserだけだと

config/environment.rbの所有者がrootまたはunknownのユーザの時だけPassagerDefaultUserが使われる

今週のrailscasts

12:19 | 今週のrailscasts - おもしろWEBサービス開発日記のrailsメモ を含むブックマーク はてなブックマーク - 今週のrailscasts - おもしろWEBサービス開発日記のrailsメモ

使ってないCSSをピックアップするdeadweightプラグインについて。

Railscasts - Finding Unused CSS

動画ではdeadweightを使ったrakeタスクを作成。

cssファイル、rails上のパス、除外するcss(flashメッセージを表示するときやエラーメッセージ等の、通常は表示されないcss)を指定してrakeタスクを実行する→使ってないcssを表示

という感じ。

同じような働きをするfirefox addonもあるらしい

Dust-Me Selectors :: Add-ons for Firefox

ChramedotaChramedota2017/05/07 19:32Does Cephalexin Have Penicillan <a href=http://byuvaigranonile.com>viagra</a> Want To Buy Isotretinoin Wigan Buying Generic Fluoxetine In Internet Effet Viagra Femme Levitra Generique