use*_*683 15 forms actionviewhelper ruby-on-rails-4
我在这里错过了什么?我正在使用Rails 4.0.0并尝试新的Bootstrap 3.0.0rc1.我有一个简单的"食谱盒"应用程序,它有一个食谱模型和一个分类模型,可以在食谱上提供"类别"字段.在食谱#new视图中,我定义了以下字段:
<h1>Create New Recipe</h1>
<%= form_for @recipe, html: { class: 'form-horizontal' } do |f| %>
<fieldset>
<legend>Main Information</legend>
<div class="form-group">
<%= f.label :name, "Recipe name", class: "col-lg-2 control-label" %>
<div class="col-lg-6">
<%= f.text_field :name, class: "form-control" %>
</div>
</div>
<div class="form-group">
<%= f.label :category_id, class: "col-lg-2 control-label" %>
<div class="col-lg-6">
<%= f.collection_select :category, Category.all, :id, :name, class: "form-control", prompt: "Select a category" %>
</div>
</div>
...
Run Code Online (Sandbox Code Playgroud)
text_field帮助器呈现格式正确的标记,并带有class属性.但是,无论我如何构造select或collection_select助手,我似乎无法让Rails给我一个包含class属性的东西.上面的代码给了我这个:
<select id="recipe_category" name="recipe[category]"><option value="">Select a category</option>
...
Run Code Online (Sandbox Code Playgroud)
所以提示通过,但类attrib没有,所以它看起来像html_options哈希的一部分被识别.但是没有应用Bootstrap样式.如果我在类中使用大括号{}无关紧要:"form-control"与否.如果我在collection_select params周围使用parens,无关紧要.也可以选择帮助器.
任何人都可以建议吗?你也看到了这个吗?
Alt*_*gos 47
尝试使用:
<%= f.collection_select :category, Category.all, :id, :name, {prompt: "Select a category"}, {class: "form-control"} %>
Run Code Online (Sandbox Code Playgroud)
根据rails文档,首先是选项,然后是html选项.请记住,html选项需要括号:{prompt: "Select a category"}或{class: "form-control"}.
Gar*_*che 10
<%= f.collection_select :category, Category.all, :id, :name, {prompt: "Select a category"}, {class: "form-control"} %>
Run Code Online (Sandbox Code Playgroud)
检查的答案不起作用,但检查是因为正确的答案埋在评论中(由Alter Lagos提供).我试图通过从评论中移出实际答案来避免混淆.
| 归档时间: |
|
| 查看次数: |
17578 次 |
| 最近记录: |