From 4f2d6bd36d66f54345d8d158371619abfebe0d7f Mon Sep 17 00:00:00 2001 From: jason Date: Sat, 28 Jul 2007 00:12:22 +0000 Subject: [PATCH] major changes to rails to make it basically work git-svn-id: svn+ssh://rubyforge.org/var/svn/zcc/trunk@285 695555e7-a3f4-42c9-822d-1d0ed3746087 --- rails/app/controllers/record_controller.rb | 26 + rails/app/helpers/record_helper.rb | 2 + rails/app/views/record/show.rhtml | 39 + rails/app/views/search/found.rhtml | 7 +- rails/log/development.log | 1510 +++++++++++++++++++++++ rails/test/functional/record_controller_test.rb | 18 + 6 files changed, 1599 insertions(+), 3 deletions(-) create mode 100644 rails/app/controllers/record_controller.rb create mode 100644 rails/app/helpers/record_helper.rb create mode 100644 rails/app/views/record/show.rhtml create mode 100644 rails/test/functional/record_controller_test.rb diff --git a/rails/app/controllers/record_controller.rb b/rails/app/controllers/record_controller.rb new file mode 100644 index 0000000..3ac6931 --- /dev/null +++ b/rails/app/controllers/record_controller.rb @@ -0,0 +1,26 @@ +class RecordController < ApplicationController + + def show + @data = params[:r] + @back = params[:search_term] + puts "data: " + @data + puts "back: " + @back if @back + conn = ZOOM::Connection.new + conn.connect("localhost", 9999) + conn.set_option('charset', 'UTF-8') + conn.preferred_record_syntax = 'MARC21' + conn.database_name = "zcc" + search_term = "@attr 1=1016 \"#{@data}\"" + rset = conn.search(search_term) + puts rset.size + record = ZCC.convert_char(rset[0]) + @title = record['245']['a'] + #puts @title + @author = record['245']['c'] + @record_id = record[''][''] + + marc_record = record.to_s + marc_record.gsub!("LEADER", "
LEADER") + @records_string = marc_record.gsub("\n", "
") + end +end diff --git a/rails/app/helpers/record_helper.rb b/rails/app/helpers/record_helper.rb new file mode 100644 index 0000000..d460ac0 --- /dev/null +++ b/rails/app/helpers/record_helper.rb @@ -0,0 +1,2 @@ +module RecordHelper +end diff --git a/rails/app/views/record/show.rhtml b/rails/app/views/record/show.rhtml new file mode 100644 index 0000000..34084c8 --- /dev/null +++ b/rails/app/views/record/show.rhtml @@ -0,0 +1,39 @@ + + + + + + + +<%= link_to "BACK", :controller => "/search/found", :term => "#{@back}" %> +

Title: <%= @title %>

+

Author: <%= @author %>

+<%= %> +<%= %> +<%= %> +<%= %> +<%= %> +<%= %> + +show/hide full record + + + + diff --git a/rails/app/views/search/found.rhtml b/rails/app/views/search/found.rhtml index 2ad3e8b..aa02c5f 100644 --- a/rails/app/views/search/found.rhtml +++ b/rails/app/views/search/found.rhtml @@ -41,12 +41,13 @@
<% i = 1 %> <% @total_records.each do |rec| %> - <%= i.to_s + ") " + rec['245'].to_s.gsub("\n", "
") if rec['245'] %> - show/hide full record + <%= link_to "#{rec['245']['a']}", :controller => "record/show", :r => "#{rec['901']['a']}", :search_term => "#{@data}" %> + + <% i += 1 %>
---------------------------------------------------------- diff --git a/rails/log/development.log b/rails/log/development.log index 57017af..b5c635c 100644 --- a/rails/log/development.log +++ b/rails/log/development.log @@ -2186,3 +2186,1513 @@ Processing SearchController#found (for 149.166.220.116 at 2007-07-26 09:02:28) [ Parameters: {"term"=>"done", "action"=>"found", "controller"=>"search"} Rendering search/found Completed in 0.81409 (1 reqs/sec) | Rendering: 0.01573 (1%) | 200 OK [http://208.78.97.122/search/found?term=done] + + +Processing SearchController#found (for 127.0.0.1 at 2007-07-27 18:42:16) [GET] + Session ID: a2895e83b4a72fcd2c17aa9c7f67a197 + Parameters: {"action"=>"found", "controller"=>"search"} +Rendering search/found +Completed in 0.80982 (1 reqs/sec) | Rendering: 0.00763 (0%) | 200 OK [http://localhost/search/found] + + +Processing SearchController#found (for 127.0.0.1 at 2007-07-27 18:42:22) [GET] + Session ID: a2895e83b4a72fcd2c17aa9c7f67a197 + Parameters: {"term"=>"ruby", "action"=>"found", "controller"=>"search"} +Rendering search/found +Completed in 0.73483 (1 reqs/sec) | Rendering: 0.00616 (0%) | 200 OK [http://localhost/search/found?term=ruby] + + +Processing SearchController#found (for 127.0.0.1 at 2007-07-27 18:43:46) [GET] + Session ID: a2895e83b4a72fcd2c17aa9c7f67a197 + Parameters: {"term"=>"ruby", "action"=>"found", "controller"=>"search"} +Rendering search/found +Completed in 0.78744 (1 reqs/sec) | Rendering: 0.01405 (1%) | 200 OK [http://localhost/search/found?term=ruby] + + +Processing SearchController#found (for 127.0.0.1 at 2007-07-27 18:59:19) [GET] + Session ID: a2895e83b4a72fcd2c17aa9c7f67a197 + Parameters: {"term"=>"ruby", "action"=>"found", "controller"=>"search"} +Rendering search/found +ERROR: compiling _run_rhtml_search_found RAISED compile error +script/../config/../app/views/search/found.rhtml:44: syntax error, unexpected $undefined, expecting ')' +_erbout.concat " "; _erbout.concat(( link_to "<%= rec['245']['a'] if rec['245'] ).to_s); _erbout.concat "\", :controller => \"record\" %>\r\n" + ^ +script/../config/../app/views/search/found.rhtml:55: syntax error, unexpected kEND, expecting ')' +_erbout.concat " "; end; _erbout.concat ".\r\n" + ^ +script/../config/../app/views/search/found.rhtml:63: syntax error, unexpected kEND, expecting ')' +Function body: def _run_rhtml_search_found(local_assigns) +_erbout = ''; _erbout.concat "\r\n" +_erbout.concat " \r\n" +_erbout.concat " Simple Z39.50 OPAC\r\n" +_erbout.concat " \r\n" +_erbout.concat " \r\n" +_erbout.concat " \r\n" +_erbout.concat " \r\n" +_erbout.concat " \r\n" +_erbout.concat " \r\n" +_erbout.concat "

Simple Z39.50 OPAC

\r\n" +_erbout.concat " This Ruby on Rails app searches a database of MARC records indexed by zebra.\r\n" +_erbout.concat " \r\n" +_erbout.concat "
\r\n" +_erbout.concat "
\r\n" +_erbout.concat " Enter a search:\r\n" +_erbout.concat "
\r\n" +_erbout.concat " \r\n" +_erbout.concat " \r\n" +_erbout.concat "
\r\n" +_erbout.concat "
\r\n" +_erbout.concat " Number of records found: "; _erbout.concat(( @rset_size ).to_s); _erbout.concat "\r\n" +_erbout.concat "
\r\n" +_erbout.concat " Number of records returned: "; _erbout.concat(( @total_records.size ).to_s); _erbout.concat "\r\n" +_erbout.concat "
\r\n" +_erbout.concat "
\r\n" +_erbout.concat " "; i = 1 ; _erbout.concat "\r\n" +_erbout.concat " "; @total_records.each do |rec| ; _erbout.concat "\r\n" +_erbout.concat " "; _erbout.concat(( link_to "<%= rec['245']['a'] if rec['245'] ).to_s); _erbout.concat "\", :controller => \"record\" %>\r\n" +_erbout.concat " \r\n" +_erbout.concat " show/hide full record\r\n" +_erbout.concat "
\r\n" +_erbout.concat " "; _erbout.concat(( rec.to_s.gsub("\n","
") ).to_s); _erbout.concat "\r\n" +_erbout.concat " show/hide full record\r\n" +_erbout.concat "
\r\n" +_erbout.concat " "; i += 1 ; _erbout.concat "\r\n" +_erbout.concat "
\r\n" +_erbout.concat " ----------------------------------------------------------\r\n" +_erbout.concat "
\r\n" +_erbout.concat " "; end; _erbout.concat ".\r\n" +_erbout.concat "
\r\n" +_erbout.concat "
\r\n" +_erbout.concat " \r\n" +_erbout.concat " \r\n" +_erbout.concat "\r\n" +_erbout.concat "\r\n" +_erbout +end +Backtrace: script/../config/../app/views/search/found.rhtml:63:in `compile_template' +./script/../config/../vendor/rails/actionpack/lib/action_view/base.rb:307:in `compile_and_render_template' +./script/../config/../vendor/rails/actionpack/lib/action_view/base.rb:292:in `render_template' +./script/../config/../vendor/rails/actionpack/lib/action_view/base.rb:251:in `render_file' +./script/../config/../vendor/rails/actionpack/lib/action_controller/base.rb:726:in `render_file' +./script/../config/../vendor/rails/actionpack/lib/action_controller/base.rb:648:in `render_with_no_layout' +./script/../config/../vendor/rails/actionpack/lib/action_controller/layout.rb:253:in `render_without_benchmark' +./script/../config/../vendor/rails/actionpack/lib/action_controller/benchmarking.rb:53:in `render' +/usr/lib/ruby/1.8/benchmark.rb:293:in `measure' +./script/../config/../vendor/rails/actionpack/lib/action_controller/benchmarking.rb:53:in `render' +./script/../config/../vendor/rails/actionpack/lib/action_controller/base.rb:942:in `perform_action_without_filters' +./script/../config/../vendor/rails/actionpack/lib/action_controller/filters.rb:368:in `perform_action_without_benchmark' +./script/../config/../vendor/rails/actionpack/lib/action_controller/benchmarking.rb:69:in `perform_action_without_rescue' +/usr/lib/ruby/1.8/benchmark.rb:293:in `measure' +./script/../config/../vendor/rails/actionpack/lib/action_controller/benchmarking.rb:69:in `perform_action_without_rescue' +./script/../config/../vendor/rails/actionpack/lib/action_controller/rescue.rb:82:in `perform_action' +./script/../config/../vendor/rails/actionpack/lib/action_controller/base.rb:408:in `send' +./script/../config/../vendor/rails/actionpack/lib/action_controller/base.rb:408:in `process_without_filters' +./script/../config/../vendor/rails/actionpack/lib/action_controller/filters.rb:377:in `process_without_session_management_support' +./script/../config/../vendor/rails/actionpack/lib/action_controller/session_management.rb:117:in `process' +./script/../config/../vendor/rails/railties/lib/dispatcher.rb:38:in `dispatch' +./script/../config/../vendor/rails/railties/lib/webrick_server.rb:115:in `handle_dispatch' +./script/../config/../vendor/rails/railties/lib/webrick_server.rb:81:in `service' +/usr/lib/ruby/1.8/webrick/httpserver.rb:104:in `service' +/usr/lib/ruby/1.8/webrick/httpserver.rb:65:in `run' +/usr/lib/ruby/1.8/webrick/server.rb:173:in `start_thread' +/usr/lib/ruby/1.8/webrick/server.rb:162:in `start' +/usr/lib/ruby/1.8/webrick/server.rb:162:in `start_thread' +/usr/lib/ruby/1.8/webrick/server.rb:95:in `start' +/usr/lib/ruby/1.8/webrick/server.rb:92:in `each' +/usr/lib/ruby/1.8/webrick/server.rb:92:in `start' +/usr/lib/ruby/1.8/webrick/server.rb:23:in `start' +/usr/lib/ruby/1.8/webrick/server.rb:82:in `start' +./script/../config/../vendor/rails/railties/lib/webrick_server.rb:67:in `dispatch' +./script/../config/../vendor/rails/railties/lib/commands/servers/webrick.rb:59 +/usr/lib/ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require' +/usr/lib/ruby/1.8/rubygems/custom_require.rb:27:in `require' +./script/../config/../vendor/rails/activesupport/lib/active_support/dependencies.rb:147:in `require' +./script/../config/../vendor/rails/railties/lib/commands/server.rb:30 +script/server:3:in `require' +script/server:3 + + +ActionView::TemplateError (compile error +script/../config/../app/views/search/found.rhtml:44: syntax error, unexpected $undefined, expecting ')' +_erbout.concat " "; _erbout.concat(( link_to "<%= rec['245']['a'] if rec['245'] ).to_s); _erbout.concat "\", :controller => \"record\" %>\r\n" + ^ +script/../config/../app/views/search/found.rhtml:55: syntax error, unexpected kEND, expecting ')' +_erbout.concat " "; end; _erbout.concat ".\r\n" + ^ +script/../config/../app/views/search/found.rhtml:63: syntax error, unexpected kEND, expecting ')') on line #44 of app/views/search/found.rhtml: +41:
+42: <% i = 1 %> +43: <% @total_records.each do |rec| %> +44: <%= link_to "<%= rec['245']['a'] if rec['245'] %>", :controller => "record" %> +45: +46: show/hide full record +47: