forms - 轨道 4 : Set default field in form partial only if new form

标签 forms ruby-on-rails-4 haml

我尝试对新操作和编辑操作使用相同的 HAML 部分,并在表单中设置默认值(如果它是新操作)。但是使用类似的东西:

= f.text_field :card_name, value: "Chase"

在呈现编辑操作时覆盖记录的存储值。解决这个问题的最佳方法是什么,既不需要两个单独的 View (一个用于新建,一个用于编辑),也不需要一个丑陋的 if/else block ?

另一个要求是该值实际上显示在表单中,因此不能简单地在 Controller 中设置它。

最佳答案

怎么样

= f.text_field :card_name, value: (f.object.new_record? ? 'Chase' : f.object.card_name)

为了让条件消失,我尝试通过 ActiveRecord after_initialize 来完成此操作。

关于forms - 轨道 4 : Set default field in form partial only if new form,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22888830/

相关文章:

ruby - haml中强标签的使用方法

mysql - 删除 rails 中的数百万条记录

html - 如何隐藏 html 表单下拉列表中的箭头按钮?

html - 将我的表单输入字段置于彼此之下

javascript - ionic 4中的(按键)事件未触发

ruby-on-rails - 什么 ActiveRecord 查询将返回具有所有给定的 has_many 关系集的所有记录?

ruby-on-rails - 如何在 Rails 中断言选择一个类?

perl - 如何将 Haml 与 Catalyst 结合使用?

javascript - 如何将辅助方法的输出用作 haml 哈希中的值?

javascript - 当我不希望页面重新加载时