存储 rails 表单的下拉选项并仅使用该表单中的变量
Storing the drop-down options of a rails form & just using the variable in that form
我正在构建一个 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
这将允许您在视图中执行此操作:
<%= select("post", "number_id", number_options) %>
如果您需要使用哈希在您的模型中以另一种方式转换回来,您也可以将其包含在其中:
class Post << ActiveRecord::Base
include DropDownOptions
end
然后 number_options
方法将在 post 实例中可用。允许你做这样的事情:
class Post << ActiveRecord::Base
include DropDownOptions
def number_label
number_options.invert[number_id] if number_id?
end
end
通过将选项放入模块中,您可以在任何需要的地方使用它们。例如,如果您更喜欢用户演示者或装饰器而不是辅助方法,只需将模块包含在这些对象中即可。
我正在构建一个 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
这将允许您在视图中执行此操作:
<%= select("post", "number_id", number_options) %>
如果您需要使用哈希在您的模型中以另一种方式转换回来,您也可以将其包含在其中:
class Post << ActiveRecord::Base
include DropDownOptions
end
然后 number_options
方法将在 post 实例中可用。允许你做这样的事情:
class Post << ActiveRecord::Base
include DropDownOptions
def number_label
number_options.invert[number_id] if number_id?
end
end
通过将选项放入模块中,您可以在任何需要的地方使用它们。例如,如果您更喜欢用户演示者或装饰器而不是辅助方法,只需将模块包含在这些对象中即可。