gpt4 book ai didi

html - 存储 Rails 表单的下拉选项并仅使用该表单中的变量

转载 作者:太空宇宙 更新时间:2023-11-03 16:18:13 25 4
gpt4 key购买 nike

我正在构建一个 Rails 应用。

我的下拉字段具有不同形式的相同选项。我想将选项存储在一个单独的位置,并只使用下拉字段中的变量,而不是在每个表单中键入选项。

请帮我写一个小代码片段或指向一个代码库

最佳答案

rails 辅助方法 select允许您传入数组或散列以创建选项字段。

使用select,您需要在一个对象中定义数据,该对象可用于您应用程序的相关部分。一种方法是使用模块。例如:

module DropDownOptions
def number_options
{"One" => 1, "Two" => 2, "Three" => 3}
end

def foo_options
{"Foo" => "Bar"}
end
end

然后您需要将该代码放入您的应用程序文件夹中。如果没有更明显的地方可以放置它,我会把它放在 app/tools/drop_down_options.rb 中。

然后你可以将它添加到你的助手中:

module ApplicationHelper
include DropDownOptions
end

这将允许您在 View 中执行此操作:

<%= select("post", "number_id", number_options) %>

如果您需要使用哈希在您的模型中以另一种方式转换回来,您也可以将它包含在那里:

class Post << ActiveRecord::Base
include DropDownOptions
end

然后 number_options 方法将在帖子实例中可用。允许你做这样的事情:

class Post << ActiveRecord::Base
include DropDownOptions

def number_label
number_options.invert[number_id] if number_id?
end
end

通过将选项放入模块中,您可以在任何需要的地方使用它们。例如,如果您更喜欢用户演示者或装饰器而不是辅助方法,只需将模块包含在这些对象中即可。

关于html - 存储 Rails 表单的下拉选项并仅使用该表单中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39245260/

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