ruby-on-rails – Ruby on Rails下拉框的静态列表选项
发布时间:2020-12-16 20:34:09 所属栏目:百科 来源:网络整理
导读:我的数据库中有一个Person表,我有一个名为person_type的列.我不想要一个person_type的数据库模型,因为它将永远是“志愿者”或“参与者”.我将在哪里创建一个静态数组来保存这些值,以及如何将该数组绑定到Ruby on Rails select helper?最好只是创建一个选择
我的数据库中有一个Person表,我有一个名为person_type的列.我不想要一个person_type的数据库模型,因为它将永远是“志愿者”或“参与者”.我将在哪里创建一个静态数组来保存这些值,以及如何将该数组绑定到Ruby on Rails select helper?最好只是创建一个选择帮手?
谢谢! 解决方法
实现这一点的最简单的方法是在你的Person模型中有一个常数:
class Person < ActiveRecord:Base PERSON_TYPES = ["Volunteer","Participant"] end 然后您可以使用select帮助程序访问它们: f.select(:person_type,Person::PERSON_TYPES) 如果您需要考虑i18n,只需要稍微修改一下. 给出您的i18n文件中的这些条目: # config/locales/en.yml person_types: volunteer: "Volunteer" participant: "Participant" # config/locales/de.yml person_types: volunteer: "Freiwillige" participant: "Teilnehmer" 您可以更新您的模型并查看: # app/models/person.rb class Person < ActiveRecord:Base # The values have been made lower-case to match the conventions of Rails I18n PERSON_TYPES = ["volunteer","participant"] end # app/views/people/_form.html.erb <%= f.select :person_type,Person::PERSON_TYPES.map { |s| [I18n.t("person_types.#{s}"),s] } %> 这将给你你以后的HTML: <!-- assuming the current I18n language is set to 'de' --> <select name="person[person_type]"> <option value="volunteer">Freiwillige</option> <option value="participant">Teilnehmer</option> </select> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- ruby-on-rails – 覆盖Spree Commerce的Bootstra
- 仿百度文库方案[openoffice.org 3+swftools+flex
- ruby-on-rails – 尝试运行rails_upgrade插件并获
- SQLite与AutoCompleteTextView结合使用
- c# – ADO .NET中的可组合查询每次迭代都会返回更
- 2018,如何成为一名React Native开发者?
- c# – 如何在循环中设置Type类型的泛型变量?
- c# – 当没有UAC弹出窗口时,无法检测用户是否使用
- XSD/XML Schema Generator
- 是否有任何方法导致整个堆栈帧在C中展开? (除了
热点阅读