Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 回调和代码分解_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 回调和代码分解

Ruby on rails 回调和代码分解,ruby-on-rails,ruby,Ruby On Rails,Ruby,我正在编程一个控制器,它的大多数方法在最后调用respond\u withmethod。于是我想到了一个主意:“我可以使用回调来避免重复那一行不止一次吗?” 也许这有点极端,毫无价值,但我需要知道这一点。所以我对它进行了测试,但它没有按预期工作,我真的很想了解它。这两种方法有什么区别 方法1 def new @user = User.new respond_with(@user) end 方法2 after_action :respond_with_call, only: [:new]

我正在编程一个控制器,它的大多数方法在最后调用
respond\u with
method。于是我想到了一个主意:“我可以使用回调来避免重复那一行不止一次吗?”

也许这有点极端,毫无价值,但我需要知道这一点。所以我对它进行了测试,但它没有按预期工作,我真的很想了解它。这两种方法有什么区别

方法1

def new
  @user = User.new
  respond_with(@user)
end
方法2

after_action :respond_with_call, only: [:new]  

def new
  @user = User.new
end

def respond_with_call
  respond_with(@user)
end

respond\u with
在操作中和操作后不起作用,因为响应已发送到客户端


非常类似的

由于响应已发送到客户端,因此在操作中和操作后
不起作用


非常相似

你说它不起作用。你的核心问题是“我如何让它工作”?好吧,如果你知道其他类似于第二种方法的方法,让我知道^^^你可以编写一个机架应用程序,查找某些情况,如路线,然后用其他数据重新编写响应。该数据可以被
@user
编组为一个头值。您说它不起作用。你的核心问题是“我如何让它工作”?好吧,如果你知道其他类似于第二种方法的方法,让我知道^^^你可以编写一个机架应用程序,查找某些情况,如路线,然后用其他数据重新编写响应。该数据可以
@user
编组为头值。