link_to 等のヘルパメソッドは sinatra 本体には含まれていませんが、
sinatra_mo
install
1 % gem install sinatra_more
standalone 利用の場合
直接 Sinatra::B
1 require 'sinatra' 2 ... 3 require 'sinatra_more/markup_ plugin' 4 Sinatra::Base.register SinatraMor e::MarkupPlug in 5 ... 6 get '/' do 7 ...
クラス利用の場合
該当クラスで register します。
1 require 'sinatra_more/markup_ plugin' 2 3 class Applicatio n < Sinatra::B ase 4 register SinatraMor e::MarkupPlug in 5 end
MarkupPlug in
link_to だけでなく、全56種(ver 0.3.33 現在)ものヘルパメソッドが利用できるようになります。 以下に、よく使いそうなものを抜粋します。
1 link_to(*args, &block) 2 stylesheet_link_tag(*sources) 3 javascript _include_t ag(*sources) 4 image_tag(url, options={}) 5 image_path (src) 6 escape_htm l(text) 7 h!(text, blank_text = ' ') 8 content_ta g(*args, &block) 9 tag(name, options={}) 10 input_tag(type, options = {}) 11 form_for(object, url, settings={}, &block) 12 text_field _tag(name, options={})
詳細は lib/sinatr
その他のPlugin
sinatra_mo
1 require 'sinatra_more/markup_ plugin' 2 require 'sinatra_mo re/render_ plugin' 3 Sinatra::Base.register SinatraMor e::MarkupPlug in 4 Sinatra::Base.register SinatraMor e::RenderPlug in 5 ...
各プラグインの代表的なメソッドを記載します。
例えば、RenderPlug
RenderPlug in
描画系プラグイン
1 partial(template, options={}) 2 erb_template(template_p ath, options={}) 3 haml_templ ate(template_p ath, options={}) 4 render_tem plate(template_p ath, options={})
WardenPlug in
認証系プラグイン
1 current_user 2 authentica te_user! 3 logged_in? 4 authentica ted?(&block)
MailerPlug in
メール関係?(使わないので未調査)
RoutingPlu gin
ルーティング系プラグイン (named route?)
1 map(*args, &block) 2 # map(:accounts).to('/accounts/url') 3 # map(:admin, :show).to('/admin/sho w/:id') 4 # map(:admin) { |namespace| namespace. map(:show).to('/admin/sho w/:id') }
posted by
maiha
on Thu 4 Feb 2010
at 01:10