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

时间:2015-06-11 07:28:33

标签: ruby-on-rails ruby directory

具体来说,我只是在他们当前所包含的子目录中创建了一个子目录,我现在正在

使用{:locale => [:en] ....

缺少模板用户/索引,应用程序/索引

我认为我需要在其他地方进行简单的更改,因此rails知道在哪里查找视图但是我无法弄明白。

编辑:进一步详细说明,并非所有这些,只是我想组织的特定群体。

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

EDIT3:

在users_controller.rb中我尝试了

render view/index.html.erb

并收到错误

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

我也试过

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

并收到错误

未定义的方法`render'

Edit4:

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

Edit5:

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

1 个答案:

答案 0 :(得分:1)

尝试控制器的适当位置:例如render 'subfolder/view_file'。如果您未在控制器中指定此项,Rails将查找视图的默认位置(因此,如果视图不在默认位置,则需要指定此位置)。因此,如果它是您已重新定位的索引视图,则需要在控制器中的索引方法的末尾指定,它需要呈现哪个视图:render 'subfolder/index'

如果重新定位的视图是部分视图,则需要指定此部分的路径,您可以在其中调用部分视图。

它不在您需要进行调整的路线中:在路线中指定当用户访问您网站的某个网址时要执行的控制器方法。