Creating a new Rails app( not finished yet)
starting postgresql :
`pg_ctl -D /usr/local/var/postgres start`
After running the rail welcome page:
4 FEATURES:
- show the list of blogs => index => get
- show one selected blogpost => get
- create blog post => new / create=> post
- edit/update selected post => patch/put
- delete selected post =>delete
rails routes: shows available routes for the application
STEPS:
- routes.rb : write
root 'blog#index
' - `resources :blogs` to create all the paths to the required controller method. (
get '/blogs', to: 'blogs#index' ) ,
(get '/blogs/:id', to: 'blogs#show' ),
(get '/blogs/:id/edit', to: 'blogs#edit' ),
(get '/blogs/new', to: 'blogs#new'),
(post '/blogs', to: 'blogs#create' )
- controller file =>
blogs_controller.rb
=>
def index
end
3. view folder => create blogs folder => create index.html.erb
=> add something to see if it works.
4. view folder => blogs folder => create _form.html.erb
5. view folder => blogs folder => create new.html.erb
=> add the form
6. controller file => blogs_controller.rb
=>
def new
end
7. In terminal: rails g model Blog title:string body:text author:string => it creates amigtare file
8. rails db:migrate
9. controller file => blogs_controller.rb
=>
def create
end
10. controller file = >private method :
11. controller file => blogs_controller.rb
=>
def show
end
12.. controller file = >private method : set_article
13. view folder => blogs folder => create show.html.erb
=> to show that specific post
14. controller file => blogs_controller.rb
=>
def edit
end
15. view folder => blogs folder => create edit.html.erb
=> to edit that specific post
16. controller file => blogs_controller.rb
=>
def update
end
17. controller file => blogs_controller.rb
=>
def delete
end
18. adding comment section.
19. in controller:
def show
@comment = Comment.new
end
20. rails g model Comment body:text article:references
21. rails db:migrate
22. routes =>
root ‘articles#index’
resources : articles do
resources :comments
end
23. comments_controller.rb
24.
25.
26. heroku run db:migrate