diff --git a/app/assets/javascripts/add-book.js b/app/assets/javascripts/add-book.js
new file mode 100644
index 0000000..d5bf2aa
--- /dev/null
+++ b/app/assets/javascripts/add-book.js
@@ -0,0 +1,61 @@
+$(document).ready(function(){
+
+
+ var searchBook = function(){
+ var query = $('.key-word').val();
+ if(query.replace(/\s+/, "") ===""){
+ return false;
+ }
+ $.ajax({
+ url:'https://api.douban.com/v2/book/search?alt=xd&q='+ query,
+ dataType:"jsonp",
+ success:function(json){
+ console.log(json);
+ showBooks(json);
+ }
+ });
+
+ }
+
+ var showBooks = function(json){
+ $('.books').empty().append('
共'+json.count+'条结果
');
+ var books = json.books;
+ books = $.isArray(books) ? books : books.toArray()
+ for(var i=0;i');
+ var coverImage = $('');
+ var info = $('');
+ //info detail
+ title = $(''+books[i].title+'
');
+ info.append(title);
+ if(books[i].author && books[i].author.length > 0){
+ var author = $('作者:'+books[i].author[0]+'
');
+ info.append(author);
+ }
+ if(books[i].isbn13){
+ var isbn = $('ISBN:'+books[i].isbn13+'
');
+ info.append(isbn);
+ }
+ if(books[i].publisher){
+ var publisher = $('出版社:'+books[i].publisher+'
');
+ info.append(publisher);
+ }
+ coverImage.append('
');
+ var tempForm = '';
+ var addToLib = $(tempForm);
+ book.append(coverImage).append(info).append(addToLib);
+ $('.books').append(book).append('
');
+
+ }
+ $('.add-to-lib').bind('click',addBookToLib);
+ }
+
+ $('.search-book').bind('click',searchBook);
+
+
+});
\ No newline at end of file
diff --git a/app/assets/javascripts/book.js b/app/assets/javascripts/book.js
index da4a634..d96a97b 100644
--- a/app/assets/javascripts/book.js
+++ b/app/assets/javascripts/book.js
@@ -1,7 +1,7 @@
$(document).ready(function(){
- loadBook = function(){
+ var loadBook = function(){
var isbn = $('input.isbn').val();
if(isbn === null){
return;
@@ -15,7 +15,7 @@ $(document).ready(function(){
}
});
}
- displayBookInfo = function(json){
+ var displayBookInfo = function(json){
$('img.cover').attr('src',json.images.large);
var ul = $('div.span4 ul');
ul.append('副标题:'+json.subtitle+'');
diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
index da0be49..5c6607b 100644
--- a/app/controllers/application_controller.rb
+++ b/app/controllers/application_controller.rb
@@ -9,6 +9,7 @@ class ApplicationController < ActionController::Base
@current_user = User.find_by_name session[:name]
end
+ puts "!!~~~~~~~" +@current_user.to_s
end
def sign_in(name,avatar)
diff --git a/app/controllers/book_controller.rb b/app/controllers/book_controller.rb
index 6c18bae..f95e69a 100644
--- a/app/controllers/book_controller.rb
+++ b/app/controllers/book_controller.rb
@@ -1,5 +1,6 @@
class BookController < ApplicationController
before_filter :current_user
+ skip_before_filter :verify_authenticity_token ,:only => [:add_to_lib]
def view
@book = Book.find_by_id params[:id]
@@ -29,6 +30,21 @@ class BookController < ApplicationController
@current_user.borrow book
@msg = 'Borrowed success.'
end
- redirect_to :back, notice: 'Borrowed book success.'
+ redirect_to :back, notice: @msg
+ end
+
+ def add
+ render :add
+ end
+
+ def add_to_lib
+ unless @current_user
+ redirect_to '/login',alert: "You need login."
+ return
+ end
+
+ @current_user.books.create name:params[:title], image:params[:image],isbn: params[:isbn]
+ @msg = 'This book has been succeed to add to library.'
+ redirect_to :back, notice: @msg
end
end
diff --git a/app/views/book/add.html.slim b/app/views/book/add.html.slim
new file mode 100644
index 0000000..3bc4fa9
--- /dev/null
+++ b/app/views/book/add.html.slim
@@ -0,0 +1,12 @@
+- content_for :javascript_includes do
+ = javascript_include_tag 'add-book'
+
+- if flash[:notice]
+ div.alert.alert-success = flash[:notice]
+div.row-fluid
+ div style="text-align:center"
+ div.form-search style="margin:0 auto; display: inline-block;"
+ div.input-append
+ input.search-query.key-word type="text" style="width:22em" placeholder="请输入书名或者ISBN进行搜索"
+ a.btn.search-book type="submit" 搜索
+ div.books style="margin-bottom:1em;"
diff --git a/app/views/layouts/application.html.slim b/app/views/layouts/application.html.slim
index c8b6a79..7f9dfb2 100644
--- a/app/views/layouts/application.html.slim
+++ b/app/views/layouts/application.html.slim
@@ -19,6 +19,8 @@ html
ul.nav
li
a href="" 书架
+ li
+ a href="/books/add" 添加图书
ul.nav.pull-right
-if @current_user != nil
li
diff --git a/config/routes.rb b/config/routes.rb
index 8bc4643..0f1ac43 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -1,7 +1,9 @@
Libr::Application.routes.draw do
root to:'home#index'
+ match 'books/add' => 'book#add'
match 'books/:id' => 'book#view'
+ post 'books' => 'book#add_to_lib'
post 'books/:id/borrow' => 'book#borrow'
get '/search/book/:arg' =>'book#search'
get '/login' => 'user#login'
diff --git a/lib/douban_auth.rb b/lib/douban_auth.rb
index 73cba36..df19e04 100644
--- a/lib/douban_auth.rb
+++ b/lib/douban_auth.rb
@@ -26,7 +26,6 @@ module Douban_Auth
response = http.post(path, data, headers)
response = JSON.parse response.body
- puts "!!!!!!!!!!!!!!!!!!" + response.to_s
response['access_token']
end