在Ruby on Rails中,当你需要从一个控制器的方法中调用另一个控制器的方法时,这通常意味着你的应用程序架构需要重新考虑。然而,你仍然可以使用get
方法来实现这个需求,但是这并不是一种推荐的做法。
在RSpec测试框架中,get
方法用于向应用程序发送HTTP GET请求。你可以使用get
方法来测试控制器中的index
、show
等方法。例如,如果你有一个名为posts
的控制器,你可以使用以下代码来测试index
方法:
RSpec.describe PostsController, type: :controller do
describe "GET #index" do
it "returns http success" do
get :index
expect(response).to have_http_status(:success)
end
end
end
然而,在这种情况下,你不能直接使用get
方法从一个控制器调用另一个控制器的方法。你应该考虑使用其他方法,例如将共享的代码提取到一个模块或类中,并在需要的地方包含或继承该模块或类。这将使你的代码更加模块化和可维护。
总之,在Rails和RSpec中,你不能直接使用get
方法从一个控制器调用另一个控制器的方法。你应该考虑重新设计你的应用程序架构,以遵循良好的编程实践和设计原则。
领取专属 10元无门槛券
手把手带您无忧上云