将视图移动到新目录时,我必须进行哪些更改才能使它们工作

When moving a views to a new directory, what changes must I make for them to work

具体来说,我只是在它们当前所在的目录中创建了一个子目录,现在我得到了

缺少模板 users/index,application/index 使用 {:locale=>[:en]...

我想我需要在其他地方做一个简单的改变,这样 rails 知道在哪里可以找到这些视图,但是我还没弄明白。

编辑:进一步说明,这不是全部,只是我想组织的一个特定小组。

Edit2:进一步阐述...这些视图的路径是 users_path,我需要以某种方式更新它,以便它知道在哪里可以找到这些视图。这会在路线上吗?

编辑 3:

在 users_controller.rb 我试过:

render view/index.html.erb

出现错误

未定义局部变量或方法`view'

我也试过

render :partial => "view/index.html.erb"

出现错误

未定义方法`render'

编辑4:

class UsersController < ApplicationController
  before_filter :authenticate_user!

  def index
    @users = User.all
  end

  def show
    @user = User.find(params[:id])
    unless @user == current_user
      redirect_to :back, :alert => "Access denied."
    end
  end
end

编辑5:

<div class="container">
    <h3>Users</h3>
    <table>
        <tbody>
        <% @users.each do |user| %>
            <tr>
                <%= render user %>
            </tr>
        <% end %>
        </tbody>
    </table>
</div>

在控制器的适当位置尝试:例如,render 'subfolder/view_file'。如果你没有在控制器中指定它,Rails 将寻找视图的默认位置(所以如果视图不在默认位置,你需要指定它)。所以如果是你重定位的index视图,一般需要在controller中index方法的末尾指定,需要渲染哪个视图:render 'subfolder/index'.

如果重定位的视图是局部视图,则需要在调用局部视图的位置指定该局部视图的路径。

它不在你需要调整的路由中:在路由中你指定当用户访问你网站的某个url时执行哪个控制器方法。