我正在使用Rails 2.3.4构建应用程序并使用
script/generate controller home index
Run Code Online (Sandbox Code Playgroud)
生成控制器和主页.我安装了Haml.我得到一个erb文件:
app/views/home/index.html.erb
Run Code Online (Sandbox Code Playgroud)
但我宁愿生成一个Haml文件,例如:
app/views/home/index.html.haml
Run Code Online (Sandbox Code Playgroud)
我记得如果检测到haml gem,Merb会生成.haml视图而不是.erb.这不适用于Rails 2.3.4吗?我试过了
script/generate controller home index --haml
Run Code Online (Sandbox Code Playgroud)
但是"--haml"选项无效.
当然我可以手动将我的erb文件更改为haml文件,但我宁愿让生成器完成工作.叫我懒惰.建议?
如何使用条件来决定是否在HAML中输出周围标记?我正在尝试创建下面代码的DRY版本.
- if i_should_link
%a{:href => url}
.foo
.block
.of
.code
- else
.foo
.block
.of
.code
Run Code Online (Sandbox Code Playgroud) 我有问题<pre>,这是我的代码,截图附在下面.如何删除缩进?
%pre.code
:escaped
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head></head>
<body>
<form>
<input type="text" name="empID" />
<input type="submit"/>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我正在学习哈姆尔.
我的视图文件如下:
show.html.haml:
.content
= render 'meeting_info', :locals => { :info => @info }
Run Code Online (Sandbox Code Playgroud)
和_meeting_info.html.haml:
.detail
%table
%caption
Meeting Informations of
= info["meeting_name"]
...
Run Code Online (Sandbox Code Playgroud)
当我尝试运行时,我收到了一个undefined local variable or method 'info'错误.
#test
- html = "<a href='http://www.a.com'>Test</a>"
= html
Run Code Online (Sandbox Code Playgroud)
输出是
<div id='test'>
<a href='http://www.a.com'>Test</a>
</div>
Run Code Online (Sandbox Code Playgroud)
但我想要一个输出:
<div id='test'>
<a href='http://www.a.com'>Test</a>
</div>
Run Code Online (Sandbox Code Playgroud)
谁有解决方案?谢谢.
我是这三个人的新手,我正在尝试为网站写一个简单的联系表格.我提出的代码如下,但我知道它存在一些基本问题(由于我对sinatra缺乏经验).得到这个工作的任何帮助将不胜感激,我似乎无法弄清楚/找到这类事情的文档.
来自联系页面的haml代码:
%form{:name => "email", :id => "email", :action => "/contact", :method => "post", :enctype => "text/plain"}
%fieldset
%ol
%li
%label{:for => "message[name]"} Name:
%input{:type => "text", :name => "message[name]", :class => "text"}
%li
%label{:for => "message[mail]"} Mail:
%input{:type => "text", :name => "message[mail]", :class => "text"}
%li
%label{:for => "message[body]"} Message:
%textarea{:name => "message[body]"}
%input{:type => "submit", :value => "Send", :class => "button"}
Run Code Online (Sandbox Code Playgroud)
这是我在sinatra的app.rb中的代码:
require 'rubygems'
require 'sinatra'
require 'haml'
require 'pony'
get '/' do
haml :index
end
get …Run Code Online (Sandbox Code Playgroud) 是否存在一个现有的插件/ app/program/script /,它可以分析和计算文件的css选择器?我想检查我的css文件在IE中不起作用的原因是因为我的选择器数量超过4095(我很确定不是)
谢谢!
ps加点,如果有haml/sass /指南针解决方案
在HAML文档中,我有:
/[if IE]
This is IE
/[if !IE]
This is not IE
Run Code Online (Sandbox Code Playgroud)
第一个条件在IE中正确评估(可能在Firefox和Chrome中,因为"这是IE"在这些浏览器中不呈现).但是,第二个条件似乎没有在Firefox或Chrome中正确评估,因为"这不是IE"不会呈现.
我猜我做错了什么.有任何想法吗?
我有一个带有输入字段/标签等的表单.如何在字段旁边显示错误消息?而不是在顶部聚集在一起?
我正在使用设计,导轨3
我把它放在表格的顶部:
= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f|
- if resource.errors.any?
#errorExplanation
%h2
= pluralize(resource.errors.count, "error")
prevented this user from being saved:
%ul
- resource.errors.full_messages.each do |msg|
%li
= msg
Run Code Online (Sandbox Code Playgroud) 我怎样才能转换这一行
<body data-spy="abcd">
Run Code Online (Sandbox Code Playgroud)
到HAML语法?
这个给我一个错误
%body{:data-spy => "abcd"}
Run Code Online (Sandbox Code Playgroud) haml ×10
html ×2
compass-sass ×1
conditional ×1
css ×1
devise ×1
pony ×1
ruby ×1
sass ×1
sinatra ×1