如何从rails控制器

时间:2017-05-24 21:26:30

标签: ruby-on-rails

请考虑以下事项:

class MyController < ApplicationController
...
def method1
  @data=@might_be_awesome_might_not
  validate_me
  do_some_other_cool_stuff
  render json: { 'Success!' }
end

def validate_me
  return if @data == 'Awesome'
  render json: { 'Crap! Not Valid' }
end
...
end

我想知道如何在渲染错误后正确退出,以便rails不会抱怨两个渲染。我试过了     渲染json:{'废话!无效'}&amp;&amp;出口

这破坏了我的测试套件。它不会因错误而破坏测试,它们只是不运行。顺便说一句,这只是一个永远不会运行的例子,可能是语法问题,代码来证明我的问题。

1 个答案:

答案 0 :(得分:1)

您可以rendercallback

class MyController < ApplicationController

  before_action :set_data, :validate_me
  ...
  def method1
    do_some_other_cool_stuff
    render json: { 'Success!' }
  end

  private

  def set_data
    @data = @might_be_awesome_might_not
  end

  def validate_me
    render json: { 'Crap! Not Valid' } unless @data == 'Awesome'
  end
  ...
end