我在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
Run Code Online (Sandbox Code Playgroud)
无论我多么愚弄它,这都行不通.我总是得到以下错误:
undefined method `remote_form_for' for #<#<Class:0x1036e8e40>:0x1036dfd90>
Run Code Online (Sandbox Code Playgroud)
我做了些蠢事吗?它与form_for完美配合.
我需要一系列类,.module1,.module2,... module(n).
我还想使用css,ruby和HAML定义这些类:
:css
.mod1 {
background-image: url("#{extra.image}");
}
Run Code Online (Sandbox Code Playgroud)
是否可以插入ruby变量以节省工作量?
.module.mod"#{extra.id}"
%h3 #{extra.title}
%p #{extra.description}
%a.btn-default{:href => "#", :target => "_top"} enter now
:css
.mod#{extra.id} {
background-image: url("#{extra.image}");
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试制作一个简单的表格,但它的工作并不那么好.这是我目前的表单代码:
%form{ :controller => 'tool', :action => 'activation', :method => 'post' }
%table{ :border => 0, :width => "100%", :height => "100%" }
%tr{ :align => "center", :valign => "center" }
%td
%input{ :type => "text", :name => "accountName" }
%input{ :type => "submit", :name => "submit", :value => "login" }
Run Code Online (Sandbox Code Playgroud)
我在尝试通过表单发送数据时收到此URL : 10.0.0.2:3000/activation. 我知道我可以tool#activation启动激活路由,但这是一种错误的方式,我想发送帖子查询10.0.0.2:3000/tool/activation,但:action => 'tool/activation'据我所知,这也是一种不好的方式.
你能给我一些建议吗?
我正在使用Rails 3.0.0.beta3和Haml 3.0.0.rc.2,我无法找到我需要为Haml放置配置行的地方(也不是新版本中的内容,就此而言) .使用Rails 2.3.5和Haml 2,我会这样做
Haml::Template.options[:format] = :html5
Run Code Online (Sandbox Code Playgroud)
在environment.rb中.或者,在Sinatra,
set :haml, {:format => :html5}
Run Code Online (Sandbox Code Playgroud)
在我的主文件中.但是在Rails 3中,一切都被改变了,无论我把配置线放在哪里,我都会得到一个未定义的方法或未定义的对象错误.
在我的Jekyll博客中,我使用include标记将文件的内容放入文档中.但是,如果我尝试使用基于HAML的文档执行此操作,则包含的文本的缩进是错误的.:preserve不起作用,因为它需要缩进.有没有办法在不依赖缩进的情况下指定文本块?
%html
%body
- preserve do
<strong>included text from file</strong>
- end
Run Code Online (Sandbox Code Playgroud) 我使用rails和haml,haml-rails.
我如何在haml中创建hidden_field?
我有领域:
.field
= f.label :submit_date
= f.datetime_select :submit_date
Run Code Online (Sandbox Code Playgroud)
我会隐藏这个字段.用户无法手动修改日期时间.我将在创建对象时存储在db datetime中.我完全不知道怎么做.我知道如何在erb中做到这一点,但我会使用haml.
我有一个表格:
%form{:action:method => "post"}
%fieldset
%label{:for => "title"} Title:
%input{:name => "title", :type => "text", :value => ""}/
%label{:for => "notes"} Notes:
%input{:name => "notes", :type => "text", :value => ""}/
%a.finish{:href => "/rotas", :method => "post"} Finish!
Run Code Online (Sandbox Code Playgroud)
但是,链接似乎并不想工作 - 也许我错过了在Haml或Rails中基本的东西.
我在我的routes.rb中有一个:资源rotas,我的控制器有一个def create方法.
任何帮助表示赞赏!谢谢!
顺便说一句.我使用scaffold生成 - 似乎相同的表单用于编辑模型和创建.它如何知道是POST还是PUT?
这是一行,我用它来格式化我的链接:
%a.accordion-toggle.toggle-6{:href => "#"} #{name}
Run Code Online (Sandbox Code Playgroud)
我需要有一个选项来输入这个类来切换我自己的数字,例如toggle-1等.
如何在HAML语法中做到这一点?我尝试过类似的东西
%a.accordion-toggle.toggle-#{id}{:href => "#collapseOne"} #{name}
Run Code Online (Sandbox Code Playgroud)
但这会回来
Illegal element: classes and ids must have values.
Run Code Online (Sandbox Code Playgroud) 有什么区别:
- content_for :header do
%h1 Title
Run Code Online (Sandbox Code Playgroud)
和
= content_for :header do
%h1 Title
Run Code Online (Sandbox Code Playgroud)
什么是正确的方法?
我正在寻找一种方法来将样式表链接添加到HAML模板的布局头部.
我的布局:
!!!
%html
%head
/ some stuffs
%body
= yield
Run Code Online (Sandbox Code Playgroud)
我的模板:
/ some other stuffs...
/maybe a function like this in order to inject 'my_stylesheet' link in layout
= content_for_head 'my_stylesheet'
Run Code Online (Sandbox Code Playgroud)
有可能做那样的事吗?