【发布时间】:2015-10-20 11:30:36
【问题描述】:
我正在尝试在此 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" %>
然后类被成功添加并且我的引导样式工作。然而,这既没有找到主要问题也没有解决它,因为我不能使用 rails 的 form_for 提交动作的动态命名。
我应用于 div 的类似乎工作正常,引导程序加载正常。任何人都可以帮忙吗?谢谢
【问题讨论】:
-
你有一个额外的逗号:
f.submit class: "btn btn-default btn-xs"(不要在f.submit调用之后使用逗号)(或者最终将nil作为第一个参数) -
@MrYoshiji 请提交您的评论作为答案,因为它是正确的。哦,天哪,经过数小时的研究,这是最小的事情!谢谢。
标签: css ruby-on-rails twitter-bootstrap form-for