将视图移动到新目录时,我必须进行哪些更改才能使它们工作
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时执行哪个控制器方法。
具体来说,我只是在它们当前所在的目录中创建了一个子目录,现在我得到了
缺少模板 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时执行哪个控制器方法。