Gra*_*ham 16 html5 ruby-on-rails button
而不是
<input type="submit" />
Run Code Online (Sandbox Code Playgroud)
我想输出
<button>
Run Code Online (Sandbox Code Playgroud)
使用button_to方法(rails 3.0.0)
这可能吗?
Woa*_*dae 10
从最新版本的Rails(4.0.2,不确定以前的版本)开始,将一个块传递给button_to会调用帮助程序中的分支逻辑,该逻辑创建一个按钮元素而不是输入.
例如,如果你想在haml,bootstrap和fontawesome(我的用例)中创建一个'delete'按钮元素:
= button_to(foo_path(@foo),
class: 'btn btn-sm', method: :delete, remote: true) do
<i class="fa fa-times"></i>
Run Code Online (Sandbox Code Playgroud)
如果你想让它们永远都是按钮元素,无论如何,你总是可以将你的按钮内容放在一个块而不是第一个参数中.不确定那里有什么权衡.
您可以重写button_to辅助函数来ApplicationHelper渲染button标签。查看button_to已有的代码并修改它以适合您的目的。
我刚刚发现将 button_to 更改为使用块会生成按钮标签而不是输入:
所以:
<%= button_to account_path(@account), data: {confirm: 'Are you sure?'}, method: :delete, class: 'btn btn-default btn-danger' do %>
Inactivate
<% end %>
Run Code Online (Sandbox Code Playgroud)
产生:
<form method="post" class="button_to" action="/accounts/30">
<div>
<input type="hidden" value="delete" name="_method">
<button type="submit" data-confirm="Are you sure?" class="btn btn-default btn-danger">
Inactivate
</button>
<input type="hidden" value="" name="authenticity_token">
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7476 次 |
| 最近记录: |