gpt4 book ai didi

ruby-on-rails-3 - Rails 3 f.select 设置为使用 Ransack 在搜索表单中使用

转载 作者:行者123 更新时间:2023-12-04 07:14:13 26 4
gpt4 key购买 nike

提前为整个初学者的问题道歉,但由于我是初学者,这里是:在我的 Rails 3 应用程序中,我的 Profile 模型中有一个属性,用于 :subject。在我的表单中,我有以下代码供用户分配 :subject:

<%= f.select :profile_subject, options_for_select([['Select', 0], ['Arts', 1], ['Biology', 2], ['Business', 3], ['Chemistry', 4], ['English', 5], ['Foreign Language', 6], ['Government', 7], ['Health', 8], ['History', 9], ['Math', 10], ['Physics', 11], ['Vocational', 12]]) %>

我真的想将 :subject 字符串用于两件事:

  1. 在我的 View 中呈现
  2. 在搜索表单中使用(我使用 Ransack 进行搜索)

我认为我没有在我的数据库中正确设置(或构建表单),因为我似乎只存储了 id(“ex:1”)而不是字符串(“ex:Arts”) .不过,在我删除选项 id 之前,我很好奇:对于这样的事情,在选择中包含选项 id 和字符串是否被认为是一种好习惯?还是去掉 id 并将其仅保留为字符串数组?

问这一切的原因是关于我的搜索表单。正如我提到的,我正在使用 Ransack,但我只是不确定如何让 f.select 只使用一堆字符串。

最佳答案

首先,我没有在我的数据库中正确设置它。所以我更正了表格,所以存储的 :subject 是一个字符串。这是新表格:

<%= f.select :subject, options_for_select([['Select', ''], ['Arts'], ['Biology'], ['Business'], ['Chemistry'], ['English'], ['Foreign Language'], ['Government'], ['Health'], ['History'], ['Math'], ['Physics'], ['Vocational']], :selected => @profile.subject) %>

然后对于搜索表单,我只需要添加一个谓词 _eq:

<%= f.select :profile_subject_eq, options_for_select([['Select', ''], ['Arts'], ['Biology'], ['Business'], ['Chemistry'], ['English'], ['Foreign Language'], ['Government'], ['Health'], ['History'], ['Math'], ['Physics'], ['Vocational']], :selected => :profile_subject) %>

现在它可以工作了。

关于ruby-on-rails-3 - Rails 3 f.select 设置为使用 Ransack 在搜索表单中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8265914/

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