モジュールとビューを橋渡しするactive_decorator
開発の支援をしてくれる、レイヤーを追加するgemがあり、active_decoratorがその一つ。その一つ、なんてよくわかってません。
とりあえずインストール。
#Gemfile --> gem 'active_decorator'
~/work/book_admin$bundle install
userをscaffoldで作成してmigrateして、decoratorをオプションにして以下を実行。
rails g decorator user
app以下にディレクトリとともに/decorators/user_decorator.rbが作成される。
ここにメソッドを定義すればビューに渡されたモデルオブジェクトだけが呼び出せるようになる。
# coding: utf-8
module UserDecorator
def email_link(body = nil, &block)
if block_given?
link_to("mailto:#{email}", &block)
else
link_to(body, "mail_to:#{email}")
end
end
end
例えば上のように定義して、下のような感じでビューで利用する、と。細かな注意点はp137に。
<td><%= user.email_link("Send mail") %></td>
でも、なんすかね。これっているの?あ、そうかいろんなビューで使い回すってこと?バカみたいな今更の気づき。
あと、p135〜136にrake g scaffoldって例が載っているけど、これはrails gの誤表記ってことでいいんですよね。
Sidekiq
WEBアプリケーションで長い時間がかかる処理には、これをバックグランドで継続しつつ非同期処理が必要になる。SidekiqとRedisが必要。(Windowsは非対応。)
sidekiqはgemで、redisはダウンロードしてシステムにインストール。Linuxのディストリビューションによってはパッケージとして用意されているらしい。Macでは用意されていないようなので、下記を参考にした。
参考:
この処理が必要になることは、今考えているサイトでは無さそうなので、使い方はそのときにp139以降を参考にしよう。
0 件のコメント:
コメントを投稿