Tag: 布局

ror中的多个布局

刚刚开始使用Ruby on Rails。 在我的layouts / application.html.erb中,我有: 来自php – > codeigniter背景,我假设渲染类似于$ this-> load-> view(”); 在codeigniter。 虽然这很好,但我希望有多个应用程序布局文件,例如 布局/应用程序默认 布局/应用程序全宽(对于全宽页面) 等等.. 在codeigniter中你只需要声明你想要使用哪些模板/布局文件,但是作为ruby on rails有点神奇(它为你做了很多事情),我假设它默认调用应用程序布局。 我想知道是否有办法选择我想要的布局文件?

在link_to中显示的路径

我是刚刚完成rails僵尸的rails(railsforzombies.org)的新手,我正在尝试构建我的第一个应用程序(博客)。 我已经搭建了一个基本结构并进行了更改,包括更改路径,添加部分内容以及对视图的其他改进以及安装Blueprint css框架。 我遇到的问题是我的所有链接(使用link_to创建)最终看起来像这样: test post(/post/1) 在链接本身之后打印链接的路径。 但是,我无法使用链接的路径复制文本。 万一它有帮助这就是我的routes.rb看起来像: Blog::Application.routes.draw do |map| root :to => “Posts#index” match ‘/post/:id’ => ‘Posts#show’, :as => ‘show’ match ‘new’ => ‘Posts#new’, :as => ‘new_post’ 有帮助吗? 编辑: 我的link_to调用如下: 编辑: 在这张图片中可以看到问题。 此外,如果我更改为show_url,则url将显示在括号中而不是路径中。

对于具有动态标头的大部分静态页面,最好的Rails缓存选项是什么

我有一组基本上静态的页面,除了它们的布局包含更加动态的标题之外,我很乐意在相对较长的时间内页面缓存。 到目前为止,最有希望的想法似乎是使用没有布局的动作缓存: – class SomethingController false end 然后至少缓存页面的主要内容。 那有意义吗? 或者我会更好地做其他事情,例如片段缓存,服务器端包含等等?

Rails 3 / HAML:如何从变量输出haml raw?

我在rails中有一些包含一些div的变量,如下所示: @layout_1 = ” .box_1 .column_4 .gutter .column_4 .gutter .column_4 .gutter .column_4″ 这是来自数据库,我们的想法是根据请求交换布局,但是如何在HAML文件中输出变量( @layout_1 )作为HAML? 如果我使用普通的html div,我会使用<%=raw或.html_safe

是否可以以编程方式清除Rails 3布局和视图缓存?

我有一个基于Rails 3的CMS,允许用户创建和修改布局和视图。 这些布局和视图与框架中内置的布局和视图相同,仅由某些附加function的模型支持。 我想解决的问题是,这些模板文件在公共端被访问时会被缓存,因此除非重新启动服务器,否则无法看到布局或视图中的更改。 在禁用缓存的开发模式下不会发生这种情况,但显然在生产中关闭模板缓存对性能来说并不是很好。 清除memcache似乎没有办法。 是否有可能以编程方式清除生产中的布局和视图缓存,可能还有像重载这样的东西! 就像我们在控制台中一样? 或者每次有人想要调整其中一个布局或视图时,我都不得不重新启动Passenger(可能使用此线程中的方法: Rails Cache Clearing )? 请注意,我不是指清除公共页面所依赖的页面和操作缓存,并且工作得很好。

部分,布局,模板渲染问题

情况 因此,当我访问页面时,我希望能够将布局应用于局部(我有三个部分,我想要相同的布局)。 现在,我正在尝试使用此命令: “shared/services/essay”, :layout => “layouts/services/tab_pane”, :locals => { :service => “essay” } %> shared/services/essay如下: blah. blah. blah. 和`layouts / services / tab_pane’如下: <div class="tab-pane fade in" id= > Workflow Our Value Proposition for You 问题 当我加载它时,我只是得到布局HTML。 没有任何内容通过。 从本质上讲,收益率并没有拉入内容或其他东西。 有人可以帮忙吗? 谢谢! 我尝试过的事情 如果我尝试Ruby指南中提到的嵌套布局(添加… “layouts/services/tab_pane”, :locals => { :service => “essay” } %> 对于我的部分并进行所有正确的名称更改),我的第二部分包含来自第一部分和第三部分的内容。 因此,我的第二部分将包含每个部分的2个blah,而我的第三个部分将包含每个部分的3个blah。 […]

为什么`layout nil`不起作用?

我刚刚将Rails站点从Rails 2升级到Rails 3.2。 在我的旧控制器上,我有: class Foo::BarController < ApplicationController layout nil … end 但是现在我升级到Rails 3似乎我需要将其更改为: layout false Rails指南的文档声称layout nil应该可以正常工作: 布局声明在层次结构中向下级联… class OldPostsController <SpecialPostsController 布局没有 我的Gemfile.lock中有以下相关的gem gem actionpack (3.2.6) activemodel (= 3.2.6) activesupport (= 3.2.6) builder (~> 3.0.0) erubis (~> 2.7.0) builder (3.0.0) erubis (2.7.0) haml (3.1.6) jquery-rails (2.0.2) railties (>= 3.2.0, < 5.0) 这是一个记录在案的变化,还是一个相关的gem猴修补?

Rails:Application.css是否加载所有css.scss文件?

我读到application.css中的以下行包含树中的所有css文件 *= require_tree . 我的困惑是,从我发现的(如果我错了请纠正我),我需要将以下行添加到我的application.haml中,如果我想要在css文件与控制器匹配时加载它们: = stylesheet_link_tag params[:controller] 疑惑1:我真的需要添加这一行吗? 我认为这是按惯例自动完成的。 (我猜这个答案是肯定的,我需要包括这一行) 疑问2:由于application.css由于“require_tree。”而加载了所有的css文件,会导致某些类型的冲突/搞乱其他每个css文件? 疑问3:如果我想使用require_tree加载该目录中的所有骨架文件,并在屏幕呈现时,加载特别是控制器css,该怎么办? 例如, 我有: application.css some_basic_styling.css home.css.scss invitation.css.scss 我的application.css将包含所有的css文件(由于require_tree)。 home.css意味着由家庭控制器加载,并且invitation.css应该由邀请控制器加载。 我需要采取哪些措施来确保这一点?

rails prepend_view_path可安装引擎

一方面,我有一个可安装的引擎让我们说Front Front包含我的资产和几页它与MainApp隔离。 我不希望它触及主应用程序。 另一方面,我希望我的MainApp使用布局和Front的部分。 所以我这样设置布局: class ApplicationController < ActionController::Base layout 'front/application' end 但是前端/应用程序直接引用引擎部分,因为隔离,就像这样 render ‘header’ # front/ prefix is not required 因此,MainApp视图尝试加载app / views / application / header而不是app / views / front / application / header 为了解决这个问题,我把prepend_view_path放到这样: class ApplicationController < ActionController::Base layout 'front/application' before_filter :prepend_front protected def prepend_front prepend_view_path "app/views/front" end end 但这不起作用,因为引擎路径指向供应商。 引擎将它自己添加到前置路径列表:〜/ main_app […]

Rails 3.1在视图中使用iframe使布局停止渲染

所以我有一个基本的布局文件: 和任何正常的HTML一样好。 但是,如果我将这样的iframe添加到视图中: 当我渲染页面时,所有内容都会呈现,直到iframe,但是yield之后的页脚内容不会呈现。 有没有人遇到过这个? 编辑:正如其中一个答案所指出的那样(谢谢!),我在最初的问题中的屈服声明是错误的。 我的代码中的yield语句是正确的,但是当转移到stackoverflow时这是一个错字。 注意:如果您尝试复制iframe正在使用jquery mobile。