我正在使用form_with帮助器创建一个新表单,如您所知,检测您是在新记录页面还是编辑页面上[[跟踪rails指南中的CRUD示例] [1],我渲染表单作为部分重用表单)根据我调用表单的位置更改提交按钮上的文本。
<%= form_with model: @article, local: true do |form| %>
<p>
<%= form.label :title %>
<%= form.text_field :title %>
</p>
<p>
<%= form.submit %>
</p>
<% end %>
但是我想在表单上提交帮助文本用于翻译目的,但我不知道是否可以保留创建/更新识别功能,如果有一些助手或类我可以配置那些标签。
答案 0 :(得分:2)
不要弄乱你的表格与条件。在辅助类中列出这些条件
form.rb
.. &lt;%= form.submit frm_action%&gt; ..
你的辅助方法就像这样
helper.rb
def frm_action
if @article.id.present?
"Create"
else
"Update"
end
end
答案 1 :(得分:1)
我使用@article
对象处理此问题!
当表单从create方法呈现时,@article
中没有 ID ,否则从update方法中你必须传递 ID 为了更新它。
所以它会是:
<% if @article.id.present? %>
<%= form.submit "Create" %>
<% else %>
<%= form.submit "Update" %>
<% end %>