(Рельсы новичка)
Здравствуйте!
Мне кажется, что я много раз использую свой код, и я чувствую, что должен быть лучший способ сделать это ... (я уверен, что есть ...)
У меня есть страница настроек, где вы можете создавать категории и процедуры (принадлежащие категории).
Индекс Настройки действий:
def categories_and_procedures
@prefs = @current_practice.preferences
@category = @current_practice.categories.build
@categories = @current_practice.categories.all
@procedure = @current_practice.procedures.build
end
В представлении находится список со всеми текущими категориями и форма для создания новой. В модели категории есть проверка (validates_uniqueness_of: name).
Действие создания:
def create_category
@category = @current_practice.categories.build(params[:category])
if @category.save
flash[:notice] = "New category created: <i>#{@category.name}</i>"
redirect_to :action => "categories_and_procedures"
else
##Duplicate code!!!!!!
@prefs = @current_practice.preferences
@category = @current_practice.categories.build
@categories = @current_practice.categories.all
@procedure = @current_practice.procedures.build
##Duplicate code!!!!!!
render :action => "categories_and_procedures"
end
end
Есть ли способ, которым я могу переместить его в функцию, которую я могу вызвать? Helper? Фильтры?
Я не знаю.
Спасибо!