In rails I generate a model with two strings and would like to add more. How would I go about doing this?
Yes, the solution by @JCorcuera is applicable, but I suggest applying a little more information to Rails to fulfill our requirement. Try this approach:
rails generate migration add_columnname_to_tablename columnname:datatype
For example:
rails generate migration add_password_to_users password:string
Active Record maps your tables columns to attributes in your model, so you don't need to tell rails that you need more, what you have to do is create more columns and rails is going to detect them, the attributes will be added automatically.
You can add more columns to your table through migrations:
rails generate migration AddNewColumnToMyTable column_name:column_type(string by default)
Example:
rails generate migration AddDataToPosts views:integer clicks:integer last_reviewed_at:datetime
this will generate a file:
db/2017.....rb
Open it and add modify it if needed:
self.up
#add_column :tablename, :column_name, :column_type
add_column :posts, views, :integer
add_column :posts, clicks, :integer, default: 0
end
Hope this helps.
If you are using the Rails 4.x you can now generate migrations with references, like this:
rails generate migration AddUserRefToProducts user:references
like you can see on rails guides
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With