Tag: haml

是否可以在Rails中使用视图助手生成的Haml缩进HTML?

假设我有一个带有视图辅助方法的东西资源,例如: module ThingsHelper def foo ret = “” 3.times { ret += content_tag(:li, “foo”) } content_tag(:ul, ret) end end 然后,在模板中使用它: %p = foo 生成的HTML源代码如下所示: Foo foofoofoo 如您所见,辅助输出不会缩进为其余代码。 有什么方法可以解决这个问题?

Rails国际化:i18n查找嵌套的语言环境目录

我正在尝试使用嵌套文件结构组织我的本地化文件,以便更容易查找。 我跟着 在rails app中组织Locale文件 你如何在Rails中构建i18n yaml文件? 但是我的翻译版本丢失了: en.view.fruits.apple 。 我认为Rails试图只查找locales/en.yml文件中的翻译但不locales/en.yml子目录,尽管我已将它们包括在内。 配置/ application.rb中: config.i18n.load_path += Dir[“#{Rails.root.to_s}/config/locales/**/*.{rb,yml}”] 我的语言环境目录: |locales |-en.yml |-views |–en.yml 区域设置/查看/ en.yml: en: fruits: apple: “apple” 意见/ fruit.html.haml: = I18n.t(‘views.fruits.apple’)

修剪模板 – 删除块标记周围的空格

我在一个新项目中尝试Slim模板(在使用Haml很长一段时间后)。 虽然整体体验很棒,但我遇到的问题是,空格总是插在通常使用display: block标签周围 说, ul.ampm li.am am li.pm pm 生成 am pm 而 .ampm span.am am span.pm pm 生成 ampm 通常这不是一个大问题,但我们使用响应式布局应用display: inline-block to li tags; 显然,它们之间有空格会破坏布局。 我知道 Slim::Engine.options[:pretty] = true 选项(打开它会删除有问题的空白),但它会使所有生成的源难以阅读,而不仅仅是我想要修复的部分。 Slim中的<和>似乎与我需要的相反 – 它们旨在用于在内联标签周围添加空格。 所以… 是否有可能删除Slim中单个块标签周围的空白,类似于HAML空白食客? (没有关闭漂亮选项的影响,那是) 如果不是,它是一个基本的Slim限制(“设计”)或路线图中的某些东西,将来可能实施吗? 非常感激。

Rails 3:未定义的方法`remote_form_for’

我在HAML中有一个相当简单的Rails远程表单,部分在共享/用户之下: – remote_form_for :user, :url => { :controller => “users”, :action => “create” } do |f| .field = f.label :name, t(‘name’) = f.text_field :name .field = f.label :email, t(’email’) = f.text_field :email .actions = f.submit 无论我多么愚弄它,这都行不通。 我总是得到以下错误: undefined method `remote_form_for’ for #<#:0x1036dfd90> 我做了些蠢事吗? 它与form_for完美配合。

Ruby on Rails上’for’和’each’迭代器之间的区别

我对Ruby on rails上的’for’和’each’迭代器的差异有一些疑问。 我有这个案例,这是最好的做法? application_helper.rb文件中存在的Def(方法): def milestone_icons icons = [“”, “icon-world”, “icon-star-twohdd-o”, “icon-users”, “icon-notification”, “icon-clock”, “icon-eye”, “icon-like-filled”, “icon-credit-card”, “icon-bell” ] end 选择haml文件中的present: %select.js-select-icons{style: ‘width: 50px’, name: ‘milestone[icon]’} – for icon in milestone_icons do %option{value: icon, type: “icon”, selected: (@generic.icon == icon)} = “<i class=’#{icon}’></i>”.html_safe

Rails button_to没有路由匹配{:action =>“complete”,:controller =>“dashboard”,:name =>“Order”}

请帮助我尽我所能。 我真的需要你的帮助。 因此,我试图使标记顺序完整。 现在一切都可以通过按钮将订单标记为完成。 我运行了迁移添加。 class AddCompleteToOrder < ActiveRecord::Migration def change add_column :orders, :complete, :boolean, default: false end end 然后我添加了一个方法order.rb def complete! update(complete: true) end 然后routes.rb resources :orders do post “complete”, to: “orders#complete”, on: :member end 然后这是按钮 = button_to “Mark as complete”, { action: “complete”, id: @order.id } 但是我没有@ order.id但订单确实有@ order.name所以我把它改成了 = button_to “Mark as […]

HAML中的多行字符串

因为我不希望我的任何行超过80列,所以我想将最后一行拆分为两行。 在行尾添加逗号按照此处的建议工作,但逗号后面会出现逗号。 使用HAML有一个很好的清洁方法吗? – if object.errors.any? %section.form_error_message %h4.form_error_message__title = “#{pluralize(object.errors.size, ‘errors’)} prevented this form from submitting. Please fix these errors and try again.” 我希望所有内容都隐藏在80个列中,就像它们在此屏幕截图的左侧一样。

使用HAML时,有没有办法使用heredoc或%Q {…}?

也许它可以放入帮助程序,但现有的500行代码在HAML代码中具有所有内容,因此最好现在遵循现有代码(对于紧迫的期限)。 我发现现在唯一可行的方法是 – meta_tag = %Q{\n | \n | \n | […] \n | } | 这是使用“延续字符”和\n同时使用。 如果可以简化它会很棒。

::的ActionView MissingTemplate

在将mysite部署到VPS后,我遇到了这个运行时错误。 请注意,在我的本地机器中,每件事情都运转良好。 当我尝试通过控制器路径访问任何视图时,请说PostsController #index 我收到了这个错误 Completed 500 Internal Server Error in 3ms ActionView::MissingTemplate (Missing template posts/index, application/index with {:handlers=>[:builder, :erb], :formats=>[:html], :locale=>[:en]}. Searched in: “/home//dev..com/releases/20120413023845/app/views” ): app/controllers/posts_controller.rb:7:in `index’ 我认为haml是问题的原因,但我还不确定。 我添加了hamlgem并捆绑了我的应用程序 gem ‘haml’ gem ‘haml-rails’ 更新: 当我将index.html.haml更改为index.html.erb并评论其工作的模板内容时,它忽略了application.html.haml布局而没有错误。 我注意到当cap命令运行时,应用程序没有编译我的hamls RAILS_ENV=production RAILS_GROUPS=assets assets:precompile Compiled application.js (1ms) (pid 15420) Compiled application.css (1ms) (pid 15420) Compiled application.js (1ms) (pid 15420) […]

如何使用Cloudinary输出带有转换的URL作为字符串?

我将通过说这可能正在接近这个错误来作为序言。 我要做的是使用data- attribute将url w / transformation传递给JS。 目前,我正在使用以下内容生成图片代码: = cl_image_tag(image.asset.filename.to_s, transformation: “scroller”, :”data-medium” => image.asset.filename.to_s) 产生这个: 我希望能够做到的是输出它(利用我设置的t_medium命名过渡): 目前, cl_image_tag通过生成具有正确配置的URL的图像标记来进行繁重的工作。 这很好,但我似乎找不到任何关于如何将配置的URL作为没有图像标记的字符串输出的文档(用作data-medium属性)。 我可以手动配置URL,但我想知道是否有更好的方法?