在/ new中更改脚手架的按钮值和/在rails中编辑

时间:2013-09-25 22:55:24

标签: ruby-on-rails forms scaffold

我制作了一个故事脚手架,现在当我在故事/新故事中时,我点击的按钮显示“创建故事”。如何更改其他值来表达其他内容,例如“创建故事”?

我已经进入了故事/ new.html.erb以及故事/ edit.html.erb,但所有这些都是

<%= render 'forms' %>

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

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

我知道你可以把&lt;%= f.submit“创建Tale”,类:“btn”%&gt;,但如果我这样做,它会为创建和更新说“创建故事”。当我在故事/编辑时,我怎么能说“更新故事”?

3 个答案:

答案 0 :(得分:1)

为了给它命名,试试:

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

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

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

在edit.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 %>

代表“edit.html.erb”

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

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

答案 1 :(得分:0)

直接在表单上工作(部分_形式)

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

答案 2 :(得分:0)

对于Rails 5,请更改:

在新视图和编辑视图中

和 一样的方法。 然后在表格中使用: 代替