但-6ren">
gpt4 book ai didi

ruby-on-rails - Rails - text_field 中的默认值但仅适用于 new_record?

转载 作者:行者123 更新时间:2023-12-02 06:41:08 26 4
gpt4 key购买 nike

内容模型上有一个名为 slug 的属性。创建新记录时,我想使用助手来填充此字段,但在现有记录上我想使用数据库中的值。

目前我有:

<% if @content.new_record? %>
<%= f.text_field :slug, :value => "#{generate_slug(6)}" %>
<% else %>
<%= f.text_field :slug %>
<% end %>

但这似乎有点冗长。这是最好的方法,还是没有其他方法? (Rails 新手只是想在我不确定的问题上找到“Rails 方式”)

<小时/>

编辑

我应该注意到,帮助程序当前位于/app/helpers/application_helper.rb 中,已移至内容 Controller 中的私有(private)操作。大卫的回答非常有效。

最佳答案

在你的 Controller 中

@content.slug ||= generate_slug(6)

如果不存在,这将为 slug 属性分配一个值

然后,在您看来,您可以简单地使用

<%= f.text_field :slug %>

关于ruby-on-rails - Rails - text_field 中的默认值但仅适用于 new_record?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4637677/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com