我可以从Rails 4中的当前控制器渲染另一个控制器的动作吗?

时间:2013-08-29 07:51:13

标签: ruby-on-rails ruby-on-rails-4

可能是一个愚蠢的但是仍然可以从Rails 4中的另一个控制器渲染一个动作?

在UsersController中这样:

def new
  @person = User.new        
  render 'schools/create_person'
end

出于某种原因,它一直在渲染new.html.erb而不是所需的学校/ create_person.html.erb

2 个答案:

答案 0 :(得分:0)

我不清楚你想要什么

但如果你想渲染视图我可以建议一种方法

创建一个部分视图(_create_person.html.erb),这对usersschools都很常见,然后

users文件夹new.html.erb

<%= render partial: "schools/create_person" %>

您可以更好地在视图文件夹中的共享文件夹中创建局部视图并进行渲染

如果要重定向

redirect_to create_person_schools_url #depends on your route define

答案 1 :(得分:-1)

检查您的路线,看看您是否在学校路线中使用create_person方法。如果是肯定的,请尝试redirect_to

redirect new_school_person_path

new_school_person_path作为该方法的路线。