这个 class 添加到 rails form_for 有什么问题?
Whats wrong with this class addition to this rails form_for?
我正在尝试在此 rails form_for 中设置表单元素的样式,但不断 运行 出现语法错误,我尝试的任何操作似乎都不起作用,您能看出问题所在吗?
<%= form_for(@todo_list) do |f| %>
<div class="form-group">
<%= f.label :title %><br>
<%= f.text_field :title %>
</div>
<div class="form-group">
<%= f.label :description %><br>
<%= f.text_area :description %>
</div>
<div>
<%= f.submit, html: {class: "btn btn-default btn-xs"} %>
</div>
<% end %>
导致此错误:_form.html.erb:23: syntax error, unexpected tLABEL, expecting '=' ...buffer.append=( f.submit, html: {class: "btn btn-default btn... ...
class=
、class:
、html=>
等各种变体似乎也会出错。
<%= f.submit, class: "btn btn-default btn-xs" %>
导致此错误:
SyntaxError in TodoListsController#edit ...... _form.html.erb:23: syntax error,unexpected tLABEL, expecting '=' ...uffer.append=( f.submit, class: "btn btn-default btn-xs" );@... ... ^
将'form-horizontal'传递给form_for
仍然产生错误;
<%= form_for(@todo_list, html => {:class => "form-horizontal"}) do |f| %>
....
....
<%= f.submit, class: "btn btn-default btn-xs" %>
SyntaxError in TodoListsController#edit ... _form.html.erb:23: syntax error, unexpected tLABEL, expecting '=' ...uffer.append=( f.submit, class: "btn btn-default btn-xs" );@... ... ^
请注意,如果我明确声明提交操作的标签,例如;
<%= f.submit 'Save', class: "btn btn-default btn-xs" %>
然后 class 添加成功并且我的 bootstrap 样式生效。然而,这既没有找到主要问题也没有解决它,因为我不能使用 rails' form_for 提交操作的动态命名。
类 我申请 div 似乎工作正常,bootstrap 加载正常。谁能帮忙?谢谢
这样使用。
<%= form_for(@todo_list, :html => {:class => "form-horizontal"}) do |f| %>
<%= f.submit class: "btn btn-default btn-xs"%>
正如 Umar
所述,您的 f.submit
classreference is incorrect:
<%= f.submit, class: "btn btn-default btn-xs" %>
您还将受益于在表单中使用循环:
#form
<% options = [[:title, "text_field"],[:description, "text_area"]] %>
<%= form_for @todo_list do |f| %>
<% options.each do |option| %>
<%= content_tag :div, class: "form-group" %>
<%= f.label option[0] %>
<%= f.send(option[1], option[0]) %>
<% end %>
<% end %>
<%= f.submit %>
<% end %>
您忘记为提交按钮添加标签
<%= f.submit 'Ok', class: "btn btn-default btn-xs" %>
编辑
另一种方法是重写按钮的默认值:
<%= f.submit class: "btn btn-default btn-xs", value: 'Ok!' %>
而且,正如我所想,这就是您要查找的内容:
<%= f.submit class: "btn btn-default btn-xs" %>
f.submit
后没有逗号
这是一个拼写错误:您有一个额外的逗号:
f.submit, class: "btn btn-default btn-xs"
# ^ extra comma
您应该使用以下内容:
f.submit nil, class: 'btn btn-default btn-xs'
# ^ no comma
我正在尝试在此 rails form_for 中设置表单元素的样式,但不断 运行 出现语法错误,我尝试的任何操作似乎都不起作用,您能看出问题所在吗?
<%= form_for(@todo_list) do |f| %>
<div class="form-group">
<%= f.label :title %><br>
<%= f.text_field :title %>
</div>
<div class="form-group">
<%= f.label :description %><br>
<%= f.text_area :description %>
</div>
<div>
<%= f.submit, html: {class: "btn btn-default btn-xs"} %>
</div>
<% end %>
导致此错误:_form.html.erb:23: syntax error, unexpected tLABEL, expecting '=' ...buffer.append=( f.submit, html: {class: "btn btn-default btn... ...
class=
、class:
、html=>
等各种变体似乎也会出错。
<%= f.submit, class: "btn btn-default btn-xs" %>
导致此错误:
SyntaxError in TodoListsController#edit ...... _form.html.erb:23: syntax error,unexpected tLABEL, expecting '=' ...uffer.append=( f.submit, class: "btn btn-default btn-xs" );@... ... ^
将'form-horizontal'传递给form_for
仍然产生错误;
<%= form_for(@todo_list, html => {:class => "form-horizontal"}) do |f| %>
....
....
<%= f.submit, class: "btn btn-default btn-xs" %>
SyntaxError in TodoListsController#edit ... _form.html.erb:23: syntax error, unexpected tLABEL, expecting '=' ...uffer.append=( f.submit, class: "btn btn-default btn-xs" );@... ... ^
请注意,如果我明确声明提交操作的标签,例如;
<%= f.submit 'Save', class: "btn btn-default btn-xs" %>
然后 class 添加成功并且我的 bootstrap 样式生效。然而,这既没有找到主要问题也没有解决它,因为我不能使用 rails' form_for 提交操作的动态命名。
类 我申请 div 似乎工作正常,bootstrap 加载正常。谁能帮忙?谢谢
这样使用。
<%= form_for(@todo_list, :html => {:class => "form-horizontal"}) do |f| %>
<%= f.submit class: "btn btn-default btn-xs"%>
正如 Umar
所述,您的 f.submit
classreference is incorrect:
<%= f.submit, class: "btn btn-default btn-xs" %>
您还将受益于在表单中使用循环:
#form
<% options = [[:title, "text_field"],[:description, "text_area"]] %>
<%= form_for @todo_list do |f| %>
<% options.each do |option| %>
<%= content_tag :div, class: "form-group" %>
<%= f.label option[0] %>
<%= f.send(option[1], option[0]) %>
<% end %>
<% end %>
<%= f.submit %>
<% end %>
您忘记为提交按钮添加标签
<%= f.submit 'Ok', class: "btn btn-default btn-xs" %>
编辑 另一种方法是重写按钮的默认值:
<%= f.submit class: "btn btn-default btn-xs", value: 'Ok!' %>
而且,正如我所想,这就是您要查找的内容:
<%= f.submit class: "btn btn-default btn-xs" %>
f.submit
这是一个拼写错误:您有一个额外的逗号:
f.submit, class: "btn btn-default btn-xs"
# ^ extra comma
您应该使用以下内容:
f.submit nil, class: 'btn btn-default btn-xs'
# ^ no comma