Я работаю с Rails 4.0, и я хочу устранить некоторые повторяющиеся строки, но я не знаю, как это происходит в Rails. Как я понимаю, экземпляр контроллера создается по каждому запросу 1.Память в контроллерах Rails
class ResetController < ApplicationController
def reset_password
user = User.find_by_email(params[:email])
if user
...
end
def reset_user_token
user = User.find_by_email(params[:email])
if user
...
end
end
Если я не использую Rails, моя идея извлечь частный метод с использованием запоминания и удалить дублированные строки:
private
def user
@user ||= User.find_by_email(params[:email])
end
ли это хорошая идея сделать это в контроллере Rails? Как вы улучшаете этот код? У меня аналогичная проблема во многих частях приложения.
Похожие:
- When to use memoization in Ruby on Rails
- Rails Best Practices: Use memoization
его совершенно прекрасный в этом контексте – apneadiving