【问题标题】:Producing a button element instead an input element with Rails form helpers使用 Rails 表单助手生成按钮元素而不是输入元素
【发布时间】: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>  

到目前为止,我已经尝试过但没有成功:

  1. 将 CSS id 添加到输入标记并修改模板样式表以重现按钮样式(我意识到这不是一个有效的选择,原因在这里难以解释)。
  2. 使用原版 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


    【解决方案1】:

    您可以使用button_tag

    默认是type="submit"提交表单

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-26
      • 2015-12-16
      • 2014-07-11
      • 1970-01-01
      • 2021-04-08
      • 2014-09-22
      • 2012-08-11
      • 2022-09-23
      相关资源
      最近更新 更多