I have been struggling to understand why I can't get view files created for my Rails project. The documentation shows that generating a controller also generates an associated view: Rails Docs
If I use that same command, I get one file generated, being the controller. My command
The only two files within the Views folder in my Rails project are mailer.html.erb and mailer.text.erb
Am I doing something wrong? Do I manually create the view files, and if so I can't seem to get them "connected" to the associated controller. I am new to Rails, so any insight would be helpful. Thanks!
CodePudding user response:
try this command :
rails g controller Articles index create
You can create methods and views dynamically after If you typed controller name in command.
CodePudding user response:
you are creating only a controller in your command not any methods that's why the views are not generated. If you need to generate views for the particular methods then you may run the below listed command.
rails g controller Articles index show
Here, index, show are the methods name. So, this command will create ArticlesController and also the respective view files.
CodePudding user response:
You can use the scaffold option.
rails g scaffold Post name:string title:string content:text
This command will generate the following files.
File | Purpose |
---|---|
db/migrate/20100207214725_create_posts.rb |
Migration to create the posts table in your database (your name will include a different timestamp) |
app/models/post.rb |
The Post model |
test/unit/post_test.rb |
Unit testing harness for the posts model |
test/fixtures/posts.yml |
Sample posts for use in testing |
config/routes.rb |
Edited to include routing information for posts |
app/controllers/posts_controller.rb |
The Posts controller |
app/views/posts/index.html.erb |
A view to display an index of all posts |
app/views/posts/edit.html.erb |
A view to edit an existing post |
app/views/posts/show.html.erb |
A view to display a single post |
app/views/posts/new.html.erb |
A view to create a new post |
app/views/posts/_form.html.erb |
A partial to control the overall look and feel of the form used in edit and new views |
test/functional/posts_controller_test.rb |
Functional testing harness for the posts controller |
app/helpers/posts_helper.rb |
Helper functions to be used from the post views |
test/unit/helpers/posts_helper_test.rb |
Unit testing harness for the posts helper |
app/assets/javascripts/posts.js.coffee |
CoffeeScript for the posts controller |
app/assets/stylesheets/posts.css.scss |
Cascading style sheet for the posts controller |
app/assets/stylesheets/scaffolds.css.scss |
Cascading style sheet to make the scaffolded views look better |