ruby-on-rails – 在Rails 5中添加共享视图文件的位置?
我正在使用Rails 5,我想在我的项目中使用共享文件.我在网上搜索了这个,我得到了一些结果如下:
对于Rails 3 app/views/shared 对于Rails 4 app/views/application 但Rails 5没有任何内容. 我在谈论标准;是否有任何特定的位置在Rails 5中添加常见的视图文件,就像我们在其他框架中一样?像在Laravel中有一个布局文件夹? 解决方法
所有人都告诉你,普通视图文件没有“标准位置”是正确的.但是,如果您想询问Rails,如果您尝试在视图上渲染部分文件,它将寻找部分文件,只需获取您拥有的任何视图文件并渲染您知道不存在的部分文件.
如果你有一个UsersController,其视图结构看起来像app / view / users,你可以在任何视图上添加以下内容: <%= render 'foo' %> 您可能会收到类似以下内容的错误: Missing partial users/_foo,application/_foo 这意味着每当您尝试使用它的名称呈现部分而没有任何路径信息时,Rails将会查找它 >首先在当前控制器的视图目录下,在这种情况下是用户 所以,我想你可以说Rails中普通视图文件的“默认位置”在应用程序目录下. 通过覆盖混合到Rails中每个控制器的 class ApplicationController < ActionController::Base def self.local_prefixes ['shared',controller_path] end private_class_method :local_prefixes end class UsersController < ApplicationController def self.local_prefixes [controller_path] end private_class_method :local_prefixes end 现在,您的错误会说: Missing partial users/_foo,shared/_foo,application/_foo 这表明Rails会在查看应用程序目录之前检查共享目录的部分内容. 请注意,此方法覆盖应在两个控制器中发生,否则UsersController中的local_prefix将继承自ApplicationController,最终会出现重复的查找路径,如下所示: shared/_foo,users/_foo,application/_foo 如果所有这些都太费力/太奇怪,正如其他人指出的那样,在呈现部分时,您总是可以手动指定共享的部分目录: <%= render 'shared/foo' %> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- sqlite学习笔记2:创建数据库
- applicationContext.xml读取properties中属性
- TestComplete9 测试Flash UI的初始化问题
- swift – 将一个不可用的初始化程序委托给一个可用的初始化
- ruby-on-rails – 我什么时候应该使用委托,什么时候应该使用
- flexpaper 无法加载flash问题解决
- 2010-11-14 21:29 SQLite数据库的操作应用【转】
- ruby-on-rails – 添加一个带有haml的formtastic标签/提示的
- crtmpserver xml格式
- Flex TextArea组件简单应用:文字链接,图片显示,字体设置