リソースを想像してください: /users/14/notifications
. いくつかの HTTP 動詞/メソッドを実装しています: GET、GET/edit、POST、DELETE。
4 つのすべてのアクションは、ロジックのごく一部を共有しています。すべての通知を取得し、簡単にアクセスできるようにハッシュを作成し、特定のユーザー アクセスを別の場所から取得して何か特別なことを行います。いくつかの loc (7 としましょう)。
これらの 7 つの loc を再利用してロジックを DRY に保つにはどうすればよいですか? Rails の ANY 動詞について聞いたことがありますが、使い方がわかりません。また、4 つの実際のアクションでその結果 (いくつかの変数) を使用する方法もわかりません。
私は次のようなものを期待します:
def any
@notifications = Notification.find_by etc...
// do something here to create
@reverse_notifications_hash = ...
// and something else
@super_special_access = ...
end
def show
// Only specific logic here
// Render using @notifications
end
def edit
// Only specific logic here
// Render form using @notifications,
// @reverse_notifications_hash and
// @super_special_access
end
def update
// Only specific logic here
// Fetch something else special to not override stuff or be extra efficient
more_special = ...
// Do update stuff with @notifications, @super_special_access and more_special
end
お気づきかもしれませんが、私は Ruby/Railser のプロではありません。(構文が間違っている可能性もあります。) でもとても興味があります。
RoRで実際にどのように機能しますか?