我生成了一个故事脚手架,现在当我在故事/新时,我单击的按钮显示"创建故事"。如何更改其值以表示其他内容,例如"创建故事"?
我已经进入了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,更改:
在"新建"视图和"编辑"视图中
和同样的方式。然后在表单中使用:而不是