在 /new 和 /edit 中更改基架的按钮值



我生成了一个故事脚手架,现在当我在故事/新时,我单击的按钮显示"创建故事"。如何更改其值以表示其他内容,例如"创建故事"?

我已经进入了stories/new.html.erb以及stories/edit.html.erb,但所有的内容都是

<%= render 'forms' %>

当我前往故事/_form.html.erb时,有一个

<div class="actions">
<%= f.submit class: "btn" %>
</div>

我知道你可以输入 <%= f.submit "Create Tale",类:"btn" %>,但如果我这样做,它会说"Create Tale"用于创建和更新。当我在故事/编辑中时,我怎么能说"更新故事"?

要给它起一个名字,请尝试:

<%= f.submit class: "btn", name: "Create Tale" %>

根据操作以不同的方式命名。我通常做的是从操作视图将按钮名称传递到表单模板中。例如,在new.html.erb中:

<%= render partial: 'form', button_name: 'Create Widget' %>

在编辑.html.erb:

<%= render partial: 'form', button_name: "Update Widget" %>

在形式上:

<%= f.submit name: button_name %>

另一种方法是不要将提交按钮放在"表单"部分,而是将它们保留在操作视图中,例如"new.html.erb"

<%= form_for @widget do |f| %>
   <%= render partial: 'form' %>
   <%= f.submit name: 'Create Widget' %>
<% end %>

对于"编辑.html.erb"

<%= form_for @widget do |f| %>
   <%= render partial: 'form' %>
   <%= f.submit name: 'Update Widget' %>
<% end %>

注意:代码未经测试,可能有错误,但你得到了漂移...

直接在表单上工作(部分_form)

<%= f.submit "Submit", class:"btn"%>
<</div> div class="one_answers">

对于 Rails 5,更改:

在"新建"视图和"编辑"视图中

和同样的方式。然后在表单中使用:而不是

最新更新