13. Gemfile
source 'https://rubygems.org'
!
# Bundle edge Rails instead: gem 'rails', github:
'rails/rails'
gem 'rails', '4.1.6'
# Use sqlite3 as the database for Active Record
gem 'sqlite3'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 4.0.3'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .js.coffee assets and views
gem 'coffee-rails', '~> 4.0.0’
27. $ rake routes
Prefix Verb URI Pattern Controller#Action
!
posts GET /posts(.:format) posts#index
POST /posts(.:format) posts#create
new_post GET /posts/new(.:format) posts#new
edit_post GET /posts/:id/edit(.:format) posts#edit
post GET /posts/:id(.:format) posts#show
PATCH /posts/:id(.:format) posts#update
PUT /posts/:id(.:format) posts#update
DELETE /posts/:id(.:format) posts#destroy
33. app/controllers/posts_controllers.rb
class PostsController < ApplicationController
!
# POST /posts
def create
@post = Post.new(post_params)
!
respond_to do |format|
if @post.save
format.html { redirect_to @post, notice: 'Post
was successfully created.' }
else
format.html { render :new }
end
end
end
40. test/controllers/posts_controller_test.rb
class PostsControllerTest < ActionController::TestCase
setup do
@post = posts(:one)
end
!
test "should create post" do
assert_difference('Post.count') do
post :create, post: { title: @post.title }
end
!
assert_redirected_to post_path(assigns(:post))
end