我正在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。
它仍然没有显示。
有什么想法,建议吗?
谢谢。
答案 0 :(得分:1)
This is because the migration CreateRegistrations
already ran, when you first create the registration
table. After running a migration if you change that migration file and run db:migrate
again it won't see the update you did to that migration file.
To add the new attribute you should create a new migration file by running the following command:
rails generate migration AddMatchedToYourModel matched:boolean
It should create a new migration file. And then run rails db:migrate
again.