Top > 開発ガイド > 規約類 > Rails
Rails
- URLを生成するメソッド(url_for等)
- 必ずオプションで指定する
- コントローラは省略しない
- コントローラは絶対パスで記述する
- 良い例
url_for(:controller => '/system/xxx', :action => 'ooo')
- 悪い例
url_for(:controller => 'xxx', :action => 'ooo')
- alias
- エイリアスメソッドの有無を確認して、2重に定義されないようにすること
- 名前衝突を避けるためにコンポーネント名等を含めること
- 良い例
class DocEditor::DocEditorDoc < ActiveRecord::Base
# クラスメソッドの例
class << self
alias :doc_editor_find_original :find unless method_defined?(:doc_editor_find_original)
def find
xxx
end
end
# インスタンスメソッドの例
alias :doc_editor_to_json_original :to_json unless method_defined?(:doc_editor_to_json_original)
def to_json
xxx
end
end
- 悪い例
class DocEditor::DocEditorDoc < ActiveRecord::Base
# クラスメソッドの例
class << self
alias :find_original :find
def find
xxx
end
end
# インスタンスメソッドの例
alias :to_json_original :to_json
def to_json
xxx
end
end
- サニタイジング
- HTML内での埋め込み変数のサニタイジングにはhlを用いる
- JavaScript内での埋め込み変数のサニタイジングにはjlもしくはescape_javascriptを用いる