我在我的应用程序中构建了一个带有各种不同模型的rails管理下拉菜单。我想链接的两个模型是学生和公司。学生属于公司和公司有许多学生的.代码如下。
RailsAdmin.confing do |config|
...
config.model 'Student' do
edit do
...
various fields
...
field connection_with_company, :enum do
connection_with_company
...
我已经在Student模型中创建了一个方法来返回我需要的值 但rails管理员不读取我在模型中创建的方法 我的想法是当添加一个新学生时,列出可用的公司。我已经搜索并尝试了几乎所有的方法。我已经尝试了自定义字段和虚拟字段,尽管有可能我可能做错了.任何帮助将非常感激!!!谢谢!
更新
试过了,但它并没有出现在编辑部分。
$('#academy.id').parent().hide() academies = $('#academy.id').html()
$('#company_profiles.company_id').change ->
companies = $('#company_profiles.company_id :selected').text()
escaped_companies = companies.replace(/([ #;&,.+*~\':"!^$[\]()=>|\/@])/g, '\\$1')
options = $(academies).filter("optgroup[label='#{companies}']").html()
if options $('#academy.id').html(options)
$('#academy.id').parent().show()
else
$('#academy.id').empty() $('#academy.id').parent().hide()
你不能配置rails admin让一个字段的值依赖于另一个字段的值,至少在没有先保存对象的情况下不能。你必须建立一个新的字段,将两者结合起来。你想要哪种路径?选择了一个学生保存对象,然后用过滤后的值显示公司字段? 还是在一个全新的字段上洒上javascript魔法,将两个字段结合起来?
你可以尝试添加这个文件吗?
app/assets/javascripts/rails_admin/custom/ui.js
//= require_tree .
//= require 'rails_admin/custom/yourfile.js'