Skip to content

Instantly share code, notes, and snippets.

@sapient
Created December 13, 2010 22:03
Show Gist options
  • Save sapient/739675 to your computer and use it in GitHub Desktop.
Save sapient/739675 to your computer and use it in GitHub Desktop.
# The form which submits to profile#index
<div id="member_search">
<%= form_tag profile_path, :method => :get do %>
<table style="width:100%">
<tbody>
<tr>
<td style="text-align:right;padding-right:5px;">Name: </td>
<td><%= text_field_tag :s_name, params[:s_name] %></td>
</tr>
<tr>
<td>Province</td>
<td><%= select_tag :s_province, options_for_select(Province.all.collect{ |p| [p.name, p.id]}), {:include_blank => true} %></td>
</tr>
<tr>
<td>Media</td>
<td><%= select_tag :s_media, options_for_select(MediaType.all.collect{ |mt| [mt.name, mt.id]}), {:include_blank => true}%></td>
</tr>
</tbody>
</table>
<%= submit_tag "Search", :name => nil %>
<% end -%>
</div>
class ProfileController < ApplicationController
def show
@user = User.find(params[:id])
end
def index
# searchname, s_province, s_profession are all recieved properly,
# But the province and profession CAN be blank, if so, I dont want
# the conditions to be used... HOW?
@users = User.search params[:searchname], :conditions => {
:province_id => params[:s_province],
:profession_id => params[:s_profession]
}
end
end
# The user model, heavily redacted, but I need to filter on these
class User < ActiveRecord::Base
belongs_to :profession
belongs_to :speciality
belongs_to :province
define_index do
indexes [name, surname], :as => :fullname
indexes province_id
#has province_id
end
end
# Gives the following error
# ThinkingSphinx::SphinxError in ProfileController#index
# index user_core: syntax error, unexpected $end near ''
/home/sapient/.rvm/gems/ruby-1.9.2-p0/bundler/gems/thinking-sphinx-cefc90a150d5/lib/thinking_sphinx/search.rb:400:in `block in populate'
/home/sapient/.rvm/gems/ruby-1.9.2-p0/bundler/gems/thinking-sphinx-cefc90a150d5/lib/thinking_sphinx/search.rb:511:in `call'
/home/sapient/.rvm/gems/ruby-1.9.2-p0/bundler/gems/thinking-sphinx-cefc90a150d5/lib/thinking_sphinx/search.rb:511:in `retry_on_stale_index'
/home/sapient/.rvm/gems/ruby-1.9.2-p0/bundler/gems/thinking-sphinx-cefc90a150d5/lib/thinking_sphinx/search.rb:388:in `populate'
/home/sapient/.rvm/gems/ruby-1.9.2-p0/bundler/gems/thinking-sphinx-cefc90a150d5/lib/thinking_sphinx/search.rb:176:in `method_missing'
app/controllers/profile_controller.rb:10:in `index'
actionpack (3.0.3) lib/action_controller/metal/implicit_render.rb:4:in `send_action'
actionpack (3.0.3) lib/abstract_controller/base.rb:151:in `process_action'
actionpack (3.0.3) lib/action_controller/metal/rendering.rb:11:in `process_action'
actionpack (3.0.3) lib/abstract_controller/callbacks.rb:18:in `block in process_action'
activesupport (3.0.3) lib/active_support/callbacks.rb:435:in `_run__642658520__process_action__541224581__callbacks'
activesupport (3.0.3) lib/active_support/callbacks.rb:409:in `_run_process_action_callbacks'
activesupport (3.0.3) lib/active_support/callbacks.rb:93:in `run_callbacks'
actionpack (3.0.3) lib/abstract_controller/callbacks.rb:17:in `process_action'
actionpack (3.0.3) lib/action_controller/metal/instrumentation.rb:30:in `block in process_action'
activesupport (3.0.3) lib/active_support/notifications.rb:52:in `block in instrument'
activesupport (3.0.3) lib/active_support/notifications/instrumenter.rb:21:in `instrument'
activesupport (3.0.3) lib/active_support/notifications.rb:52:in `instrument'
actionpack (3.0.3) lib/action_controller/metal/instrumentation.rb:29:in `process_action'
actionpack (3.0.3) lib/action_controller/metal/rescue.rb:17:in `process_action'
actionpack (3.0.3) lib/abstract_controller/base.rb:120:in `process'
actionpack (3.0.3) lib/abstract_controller/rendering.rb:40:in `process'
actionpack (3.0.3) lib/action_controller/metal.rb:138:in `dispatch'
actionpack (3.0.3) lib/action_controller/metal/rack_delegation.rb:14:in `dispatch'
actionpack (3.0.3) lib/action_controller/metal.rb:178:in `block in action'
actionpack (3.0.3) lib/action_dispatch/routing/route_set.rb:62:in `call'
actionpack (3.0.3) lib/action_dispatch/routing/route_set.rb:62:in `dispatch'
actionpack (3.0.3) lib/action_dispatch/routing/route_set.rb:27:in `call'
rack-mount (0.6.13) lib/rack/mount/route_set.rb:148:in `block in call'
rack-mount (0.6.13) lib/rack/mount/code_generation.rb:93:in `block in recognize'
rack-mount (0.6.13) lib/rack/mount/code_generation.rb:75:in `optimized_each'
rack-mount (0.6.13) lib/rack/mount/code_generation.rb:92:in `recognize'
rack-mount (0.6.13) lib/rack/mount/route_set.rb:139:in `call'
actionpack (3.0.3) lib/action_dispatch/routing/route_set.rb:492:in `call'
haml (3.0.24) lib/sass/plugin/rack.rb:41:in `call'
warden (1.0.3) lib/warden/manager.rb:35:in `block in call'
warden (1.0.3) lib/warden/manager.rb:34:in `catch'
warden (1.0.3) lib/warden/manager.rb:34:in `call'
actionpack (3.0.3) lib/action_dispatch/middleware/best_standards_support.rb:17:in `call'
actionpack (3.0.3) lib/action_dispatch/middleware/head.rb:14:in `call'
rack (1.2.1) lib/rack/methodoverride.rb:24:in `call'
actionpack (3.0.3) lib/action_dispatch/middleware/params_parser.rb:21:in `call'
actionpack (3.0.3) lib/action_dispatch/middleware/flash.rb:182:in `call'
actionpack (3.0.3) lib/action_dispatch/middleware/session/abstract_store.rb:149:in `call'
actionpack (3.0.3) lib/action_dispatch/middleware/cookies.rb:295:in `call'
/home/sapient/.rvm/gems/ruby-1.9.2-p0/bundler/gems/rails-ckeditor-49cb3b60b3ed/lib/ckeditor/middleware.rb:15:in `call'
activerecord (3.0.3) lib/active_record/query_cache.rb:32:in `block in call'
activerecord (3.0.3) lib/active_record/connection_adapters/abstract/query_cache.rb:28:in `cache'
activerecord (3.0.3) lib/active_record/query_cache.rb:12:in `cache'
activerecord (3.0.3) lib/active_record/query_cache.rb:31:in `call'
activerecord (3.0.3) lib/active_record/connection_adapters/abstract/connection_pool.rb:353:in `call'
actionpack (3.0.3) lib/action_dispatch/middleware/callbacks.rb:46:in `block in call'
activesupport (3.0.3) lib/active_support/callbacks.rb:415:in `_run_call_callbacks'
actionpack (3.0.3) lib/action_dispatch/middleware/callbacks.rb:44:in `call'
rack (1.2.1) lib/rack/sendfile.rb:107:in `call'
actionpack (3.0.3) lib/action_dispatch/middleware/remote_ip.rb:48:in `call'
actionpack (3.0.3) lib/action_dispatch/middleware/show_exceptions.rb:46:in `call'
railties (3.0.3) lib/rails/rack/logger.rb:13:in `call'
rack (1.2.1) lib/rack/runtime.rb:17:in `call'
activesupport (3.0.3) lib/active_support/cache/strategy/local_cache.rb:72:in `call'
rack (1.2.1) lib/rack/lock.rb:11:in `block in call'
<internal:prelude>:10:in `synchronize'
rack (1.2.1) lib/rack/lock.rb:11:in `call'
actionpack (3.0.3) lib/action_dispatch/middleware/static.rb:30:in `call'
railties (3.0.3) lib/rails/application.rb:168:in `call'
railties (3.0.3) lib/rails/application.rb:77:in `method_missing'
railties (3.0.3) lib/rails/rack/log_tailer.rb:14:in `call'
rack (1.2.1) lib/rack/content_length.rb:13:in `call'
rack (1.2.1) lib/rack/handler/webrick.rb:52:in `service'
/home/sapient/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/webrick/httpserver.rb:111:in `service'
/home/sapient/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/webrick/httpserver.rb:70:in `run'
/home/sapient/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/webrick/server.rb:183:in `block in start_thread'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment