【发布时间】:2017-10-31 03:57:47
【问题描述】:
我在我的 Rails 应用程序中使用前端模板,通过从标签中选择按钮来使用 CSS 设置它们的样式。
问题在于 Rails 表单助手通过生成带有标签而不是标签的 HTML 代码来呈现按钮。因此在执行以下html.erb代码时:
<%= simple_form_for @waiter do |f| %>
<%= f.input_field :email %>
<%= f.button :submit, "My button" %>
<% end %>
它将按钮呈现为:
<input type="submit" name="commit" value="My button" class="btn btn-default" data-disable-with="My button">
我想为按钮生成一个 HTML 代码,类似于:
<button relevant_attributes="relevant values">My button</button>
到目前为止,我已经尝试过但没有成功:
- 将 CSS id 添加到输入标记并修改模板样式表以重现按钮样式(我意识到这不是一个有效的选择,原因在这里难以解释)。
- 使用原版 Rails 表单助手而不是 simple_form (也渲染输入标签元素)。
目前唯一的解决方案是直接创建一个 HTML 按钮元素(如下所示)并将其绑定到触发通过 JS 提交表单的 Ajax 请求的 onClick JS 事件:
<%= simple_form_for @waiter do |f| %>
<%= f.input_field :email %>
<button id="my-button">My button</button>
<% end %>
目前的解决方案似乎不是很优雅。有人可以就更好的解决方案提出建议吗?是否可以通过 Rails 助手生成按钮元素?
【问题讨论】:
标签: html ruby-on-rails form-helpers