gpt4 book ai didi

mysql - Rails form_用于设置选项和设置所选选项

转载 作者:行者123 更新时间:2023-11-30 01:27:21 25 4
gpt4 key购买 nike

另一个简单的问题,我确信提前很抱歉,但我似乎无法找到我正在尝试做的事情的解决方案。

我有一个带有选择字段(vehicle_size)的表单,我想用数据库中当前存在的所有现有选项填充已设置vehicle_size的记录。我还想将所选选项设置为数据库中当前设置的选项(如果已设置),但我想我遇到的问题是尚未设置该值的原因。

我目前有这个代码:

<%= f.select(:vehicle_size, @models.index_by {|m| m.vehicle_size}, :selected => :vehicle_size) %>

它正确填充了选择选项,但在我的新页面和编辑页面(均使用此表单)中,选择菜单为空白,即使当前所有记录都设置为现有选项之一(vehicle_size 实际上可能为某些空白)将来记录)。

如果我从菜单中选择一个选项并保存记录,则vehicle_size选项有一个奇怪的值。类似于:

#<Model:0x007fd13e6c3790>

我很确定我以错误的方式使用了index_by,所以一些关于我所缺少的内容的指示会很棒。

最佳答案

f.select的参数为:attribute_nameoption_tagsoptions
option_tags 应该是一串 html 选项标签。
有一些帮助程序可以从值数组、集合等构造这样的字符串:options_for_selectoptions_from_selection_for_select

您必须使用这些助手之一。

您可以通过以下方式获取现有的vehicle_size:

Model.pluck(:vehicle_size).uniq

因此您的选择可能如下所示:

<%= f.select :vehicle_size, options_for_select(Model.pluck(:vehicle_size).uniq,@model.vehicle_size) %>

请参阅Rails Guide在表单助手上。

关于mysql - Rails form_用于设置选项和设置所选选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17836410/

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