рефакторинг сгенерированного кода действия в контроллере - PullRequest
2 голосов
/ 02 февраля 2011

Если я создаю скаффолд, я получаю индекс стандартных действий, new, show, create .... каждый из которых содержит строку, например, как

@comment = Comment.find(params[:id])

Имеет ли смысл поместить эту строкуотдельный метод в контроллере, такой как

def load
@comment = Comment.find(params[:id])
end

Это преимущество?Спасибо за ваше время

1 Ответ

2 голосов
/ 02 февраля 2011

Да для отдельного метода, а также да для использования before_filter.

class CommentsController < ApplicationController
  # Whitelist your before_filter like this. Or you can blacklist it with :except => []
  before_filter :load_comment, :only => [:edit, :update, :destroy, :show]

  def show
  end

  def index
    @comments = Comment.all 
  end

  def new
    @comment = Comment.new
  end

  # etc ...

  protected

  def load_comment
    @comment = Comment.find(params[:id])
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...