Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions app/assets/javascripts/memos.js.coffee
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Place all the behaviors and hooks related to the matching controller here.
# All this logic will automatically be available in application.js.
# You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/
3 changes: 3 additions & 0 deletions app/assets/stylesheets/memos.css.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
// Place all the styles related to the memos controller here.
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: http://sass-lang.com/
Binary file added app/controllers/.books_controller.rb.swp
Binary file not shown.
6 changes: 4 additions & 2 deletions app/controllers/books_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ def show
# GET /books/new.json
def new
@book = Book.new

@book.memos.build
respond_to do |format|
format.html # new.html.erb
format.xml { render xml: @book }
Expand All @@ -43,7 +43,9 @@ def edit
# POST /books.json
def create
@book = Book.new(params[:book])

params[:memos].each do |body|
@book.memos.build(body)
end
respond_to do |format|
if @book.save
format.html { redirect_to @book, notice: 'Book was successfully created.' }
Expand Down
92 changes: 92 additions & 0 deletions app/controllers/books_controller.rb.bak
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
class BooksController < ApplicationController
before_filter :find_book, :only => [:show, :destroy, :edit, :update]

# GET /books
# GET /books.json
def index
@books = Book.all

respond_to do |format|
format.html # index.html.erb
format.xml { render xml: @books }
format.json { render json: @books }
end
end

# GET /books/1
# GET /books/1.json
def show
respond_to do |format|
format.html # show.html.erb
format.xml { render xml: @book }
format.json { render json: @book }
end
end

# GET /books/new
# GET /books/new.json
def new
@book = Book.new

respond_to do |format|
format.html # new.html.erb
format.xml { render xml: @book }
format.json { render json: @book }
end
end

# GET /books/1/edit
def edit
end

# POST /books
# POST /books.json
def create
@book = Book.new(params[:book])

respond_to do |format|
if @book.save
format.html { redirect_to @book, notice: 'Book was successfully created.' }
format.xml { render xml: @book, status: :created, location: @book }
format.json { render json: @book, status: :created, location: @book }
else
format.html { render action: "new" }
format.xml { render xml: @book.errors, status: :unprocessable_entity }
format.json { render json: @book.errors, status: :unprocessable_entity }
end
end
end

# PUT /books/1
# PUT /books/1.json
def update
respond_to do |format|
if @book.update_attributes(params[:book])
format.html { redirect_to @book, notice: 'Book was successfully updated.' }
format.xml { head :no_content }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.xml { render xml: @book.errors, status: :unprocessable_entity }
format.json { render json: @book.errors, status: :unprocessable_entity }
end
end
end

# DELETE /books/1
# DELETE /books/1.json
def destroy
@book.destroy

respond_to do |format|
format.html { redirect_to books_url }
format.xml { head :no_content }
format.json { head :no_content }
end
end

private
def find_book
@book = Book.find(params[:id])
end
end
83 changes: 83 additions & 0 deletions app/controllers/memos_controller.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
class MemosController < ApplicationController
# GET /memos
# GET /memos.json
def index
@memos = Memo.all

respond_to do |format|
format.html # index.html.erb
format.json { render json: @memos }
end
end

# GET /memos/1
# GET /memos/1.json
def show
@memo = Memo.find(params[:id])

respond_to do |format|
format.html # show.html.erb
format.json { render json: @memo }
end
end

# GET /memos/new
# GET /memos/new.json
def new
@memo = Memo.new

respond_to do |format|
format.html # new.html.erb
format.json { render json: @memo }
end
end

# GET /memos/1/edit
def edit
@memo = Memo.find(params[:id])
end

# POST /memos
# POST /memos.json
def create
@memo = Memo.new(params[:memo])

respond_to do |format|
if @memo.save
format.html { redirect_to @memo, notice: 'Memo was successfully created.' }
format.json { render json: @memo, status: :created, location: @memo }
else
format.html { render action: "new" }
format.json { render json: @memo.errors, status: :unprocessable_entity }
end
end
end

# PUT /memos/1
# PUT /memos/1.json
def update
@memo = Memo.find(params[:id])

respond_to do |format|
if @memo.update_attributes(params[:memo])
format.html { redirect_to @memo, notice: 'Memo was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @memo.errors, status: :unprocessable_entity }
end
end
end

# DELETE /memos/1
# DELETE /memos/1.json
def destroy
@memo = Memo.find(params[:id])
@memo.destroy

respond_to do |format|
format.html { redirect_to memos_url }
format.json { head :no_content }
end
end
end
83 changes: 83 additions & 0 deletions app/controllers/memos_controller.rb.bak
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
class MemosController < ApplicationController
# GET /memos
# GET /memos.json
def index
@memos = Memo.all

respond_to do |format|
format.html # index.html.erb
format.json { render json: @memos }
end
end

# GET /memos/1
# GET /memos/1.json
def show
@memo = Memo.find(params[:id])

respond_to do |format|
format.html # show.html.erb
format.json { render json: @memo }
end
end

# GET /memos/new
# GET /memos/new.json
def new
@memo = Memo.new

respond_to do |format|
format.html # new.html.erb
format.json { render json: @memo }
end
end

# GET /memos/1/edit
def edit
@memo = Memo.find(params[:id])
end

# POST /memos
# POST /memos.json
def create
@memo = Memo.new(params[:memo])

respond_to do |format|
if @memo.save
format.html { redirect_to @memo, notice: 'Memo was successfully created.' }
format.json { render json: @memo, status: :created, location: @memo }
else
format.html { render action: "new" }
format.json { render json: @memo.errors, status: :unprocessable_entity }
end
end
end

# PUT /memos/1
# PUT /memos/1.json
def update
@memo = Memo.find(params[:id])

respond_to do |format|
if @memo.update_attributes(params[:memo])
format.html { redirect_to @memo, notice: 'Memo was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @memo.errors, status: :unprocessable_entity }
end
end
end

# DELETE /memos/1
# DELETE /memos/1.json
def destroy
@memo = Memo.find(params[:id])
@memo.destroy

respond_to do |format|
format.html { redirect_to memos_url }
format.json { head :no_content }
end
end
end
2 changes: 2 additions & 0 deletions app/helpers/memos_helper.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
module MemosHelper
end
5 changes: 1 addition & 4 deletions app/models/book.rb
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
# encoding: UTF-8
class Book < ActiveRecord::Base
has_many :memos
attr_accessible :memo, :purchased_on, :title
validates :title, :presence => true

before_create :total_books_count

def total_books_count
self.memo += "【 累計冊数#{Book.count + 1} 】"
end
end
11 changes: 11 additions & 0 deletions app/models/book.rb.bak
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# encoding: UTF-8
class Book < ActiveRecord::Base
attr_accessible :memo, :purchased_on, :title
validates :title, :presence => true

before_create :total_books_count

def total_books_count
self.memo += "【 累計冊数#{Book.count + 1} 】"
end
end
5 changes: 5 additions & 0 deletions app/models/memo.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
class Memo < ActiveRecord::Base
belongs_to :book
attr_accessible :body
validates_length_of :body, :maximum => 100
end
4 changes: 4 additions & 0 deletions app/models/memo.rb.bak
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
class Memo < ActiveRecord::Base
belongs_to :book
attr_accessible :body
end
13 changes: 10 additions & 3 deletions app/views/books/_form.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,11 @@
<%= f.label :title %><br />
<%= f.text_field :title %>
</div>
<div class="field">
<%= f.label :memo %><br />
<%= f.text_area :memo %>
<div id="memos">Memo:<br>
<textarea name="memos[][body]" rows="4" cols ="40" ></textarea><br>
<button id="addMemo" type="button" onClick="addmemo()">Add Memo</button>
</div>

<div class="field">
<%= f.label :purchased_on %><br />
<%= f.date_select :purchased_on %>
Expand All @@ -27,3 +28,9 @@
<%= f.submit %>
</div>
<% end %>

<script>
var addmemo = function(){
$('#addMemo').before('<textarea name="memos[][body]" rows="4" cols ="40" ></textarea><br>');
}
</script>
29 changes: 29 additions & 0 deletions app/views/books/_form.html.erb.bk
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<%= form_for(@book) do |f| %>
<% if @book.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@book.errors.count, "error") %> prohibited this book from being saved:</h2>

<ul>
<% @book.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>

<div class="field">
<%= f.label :title %><br />
<%= f.text_field :title %>
</div>
<div class="field">
<%= f.label :memo %><br />
<%= f.text_area :memo %>
</div>
<div class="field">
<%= f.label :purchased_on %><br />
<%= f.date_select :purchased_on %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
Loading