如何在表单生成器中获取提交按钮值?

时间:2013-01-31 23:03:51

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2 simple-form font-awesome

我在Rails 3.2上使用simple_form gem创建表单。

我遇到的问题是我希望在表单的font-awesome行添加f.button :submit图标。由于输出属于input类型,因此我无法将图标元素嵌入其中。

我只需将submit按钮硬编码到包含图标的表单中,但我不知道如何获取按钮值 - Create %model / Update %model

我的代码发布在下面:

<div id="form">
  <%= simple_form_for @program, :html => { :class => 'form-horizontal' } do |f| %>
    <%= f.input :name %>
    <%= f.input :url %>
    <%= f.input :description, :input_html => { :class => "span5", :rows => 10 } %>

    *********************

    <%= f.button :submit do %>
      <i class="icon-save"></i> What Here??? <--- Doesn't work since output is type input
    <% end %>

    *********************

    <button class="btn">
      <i class="icon-save"></i> <%= f.button(:submit).label %> <--- Doesn't work, alternative?
    </button>
  <% end %> 
</div>

预期产出:

<button type="submit" class="btn">
    <i class="icon-plus-sign"></i> Create *ModelName*        
</button>

或更新 ModelName ,具体取决于控制器操作。

1 个答案:

答案 0 :(得分:0)

<%= f.button do %>
    <i class="icon-save"></i> <%= "#{f.object.new_record? ? 'Create' : 'Update'} #{f.object.class.model_name.human}" %>
<% end %>

最好为此制作一些辅助方法。如果您想使用I18n,请查看source codebuttonsubmit_default_value方法,行17631776)。很清楚。