ruby-on-rails - 如何使新模型属性显示在活动管理仪表板中?
问题描述
我正在 Rails 中开发一个注册应用程序,我正在使用活动管理员来管理它。添加到模型的新属性未显示在活动管理员中。
我决定为其中一个模型添加一个属性,并将其添加到 db 文件夹中。然后我运行了 db:migrate。
但是,新属性未出现在管理视图中。
这是我创建文件中的代码:
class CreateRegistrations < ActiveRecord::Migration[5.0]
def change
create_table :registrations do |t|
t.string :first_name
t.string :last_name
t.string :gender
t.string :email
t.string :nationality
t.string :religion
t.date :birthdate
t.string :phone
t.string :streetname
t.string :city
t.string :state
t.string :zip
t.boolean :need_ride
t.string :has_spouse
t.string :spouse_name
t.string :english_level
t.text :expectations
t.string :length_of_stay
t.text :exact_length
t.integer :volunteer_partner
t.boolean :matched
t.timestamps
end
end
end
我在控制器和管理模型中添加了最后一个属性 - :matched, 到参数和允许的参数。
它仍然没有出现。
有什么想法、建议吗?
提前致谢。
解决方案
这是因为CreateRegistrations
当您第一次创建registration
表时,迁移已经运行。运行迁移后,如果您更改该迁移文件并db:migrate
再次运行,它将看不到您对该迁移文件所做的更新。
要添加新属性,您应该通过运行以下命令创建一个新的迁移文件:
rails generate migration AddMatchedToYourModel matched:boolean
它应该创建一个新的迁移文件。然后rails db:migrate
再次运行。
推荐阅读
- php - 当用户尝试显示图像时重定向用户
- html - 从 HTML/本地页面运行和执行 python 文件
- javascript - 使用 Javascript 拆分字符串而不使用 for 循环
- php - Google Drive Api 不工作,它总是显示错误,因为 javascript 来源不匹配
- python - How to call Python functions from JavaScript in Django?
- python - How to scraping data from multiple pages in one web, I'm using Python and BeautifulSoup
- wordpress - 将 ACF 字段移动到另一个页面并传输数据
- javascript - 导入 Highcharts 模块 SvgRenderer 失败
- haskell - Haskell 无法将“IO”类型与“Control.Monad.Logger.LoggingT IO”匹配
- drake - 二进制版本中的特征版本静态断言失败