DRY在控制器中

时间:2016-11-10 21:11:19

标签: ruby-on-rails ruby

我想根据DRY在控制器中改进我的代码。

function HelloWorld() {
  return (<h2 className={redClass}>
    <Helmet link={[cssLink]} />
    <LoremIpsum />
  </h2>);
}

每个方法都有一个respond_with博客,位置:user_root_path。我怎么能隐藏它?

1 个答案:

答案 0 :(得分:2)

您可以执行:after_action过滤器

在操作完成后运行过滤器。它可以修改响应。大多数情况下,如果在后置过滤器中完成某些操作,可以在操作本身中完成,但如果在运行任何一组操作后有一些逻辑要运行,那么后置过滤器是一个很好的做法它

:after_action :responding, only: [:create, :update, :destroy]

def create
  blog.user = current_user
  blog.save
end

def update
  blog.update(blog_params)
end

def destroy
  blog.destroy
end

def :responding
  respond_with blog, location: user_root_path
end