Reputation: 55
having trouble with the if else -- I am thinking it is a syntax issue but I can not seem to get it. I used the suggestions below and it is still throwing a 500 error. I do not know the exact error because there is a custom error message and "a 500" is the only technical information given. is there a debug mode that I can enable on the dev side that would provide additional information?
What I am trying to do is display a drop down and allow for a selection if you are a "DSD" otherwise the drop down should be disabled, which is why I need the IF statement.
Here is the current if statement that I am running:
Updated
<%
if (sign_on.acctypw1.strip =="DS")
select_tag(:distributor_number_X, options_for_select(distributors_array), {:style => "width:400px", :disabled => "true"})
else (sign_on.acctypw1.strip =="DSD")
select_tag(:distributor_number_X, options_for_select(distributors_array), {:style => "width:400px" })
end
%>
here is the error from the server log:
[Mon Mar 25 09:33:41 2013] [notice] caught SIGTERM, shutting down
[ pid=8710 thr=77929640 file=utils.rb:176 time=2013-03-25 09:33:42.922 ]: *** Exception SignalException in PhusionPassenger::ClassicRails::ApplicationSpawner (SIGTERM) (process 8710, thread #<Thread:0x94a3950>):
from /usr/local/ruby/lib/ruby/gems/1.9.1/gems/passenger-3.0.1/lib/phusion_passenger/abstract_server.rb:343:in `select'
from /usr/local/ruby/lib/ruby/gems/1.9.1/gems/passenger-3.0.1/lib/phusion_passenger/abstract_server.rb:343:in `server_main_loop'
from /usr/local/ruby/lib/ruby/gems/1.9.1/gems/passenger-3.0.1/lib/phusion_passenger/abstract_server.rb:206:in `start_synchronously'
from /usr/local/ruby/lib/ruby/gems/1.9.1/gems/passenger-3.0.1/lib/phusion_passenger/abstract_server.rb:180:in `start'
from /usr/local/ruby/lib/ruby/gems/1.9.1/gems/passenger-3.0.1/lib/phusion_passenger/classic_rails/application_spawner.rb:149:in `start'
from /usr/local/ruby/lib/ruby/gems/1.9.1/gems/passenger-3.0.1/lib/phusion_passenger/spawn_manager.rb:219:in `block (2 levels) in spawn_rails_application'
from /usr/local/ruby/lib/ruby/gems/1.9.1/gems/passenger-3.0.1/lib/phusion_passenger/abstract_server_collection.rb:132:in `lookup_or_add'
from /usr/local/ruby/lib/ruby/gems/1.9.1/gems/passenger-3.0.1/lib/phusion_passenger/spawn_manager.rb:214:in `block in spawn_rails_application'
from /usr/local/ruby/lib/ruby/gems/1.9.1/gems/passenger-3.0.1/lib/phusion_passenger/abstract_server_collection.rb:82:in `block in synchronize'
from <internal:prelude>:10:in `synchronize'
from /usr/local/ruby/lib/ruby/gems/1.9.1/gems/passenger-3.0.1/lib/phusion_passenger/abstract_server_collection.rb:79:in `synchronize'
from /usr/local/ruby/lib/ruby/gems/1.9.1/gems/passenger-3.0.1/lib/phusion_passenger/spawn_manager.rb:213:in `spawn_rails_application'
from /usr/local/ruby/lib/ruby/gems/1.9.1/gems/passenger-3.0.1/lib/phusion_passenger/spawn_manager.rb:132:in `spawn_application'
from /usr/local/ruby/lib/ruby/gems/1.9.1/gems/passenger-3.0.1/lib/phusion_passenger/spawn_manager.rb:275:in `handle_spawn_application'
from /usr/local/ruby/lib/ruby/gems/1.9.1/gems/passenger-3.0.1/lib/phusion_passenger/abstract_server.rb:357:in `server_main_loop'
from /usr/local/ruby/lib/ruby/gems/1.9.1/gems/passenger-3.0.1/lib/phusion_passenger/abstract_server.rb:206:in `start_synchronously'
from /usr/local/ruby/lib/ruby/gems/1.9.1/gems/passenger-3.0.1/helper-scripts/passenger-spawn-server:99:in `<main>'
[Mon Mar 25 09:35:50 2013] [notice] Apache/2.2.14 (Ubuntu) Phusion_Passenger/3.0.1 configured -- resuming normal operations
[Mon Mar 25 10:03:31 2013] [notice] caught SIGTERM, shutting down
[Mon Mar 25 10:03:47 2013] [notice] Apache/2.2.14 (Ubuntu) Phusion_Passenger/3.0.1 configured -- resuming normal operations
Upvotes: 0
Views: 2042
Reputation: 4851
You want to use elsif
instead of else there.
You also need to wrap your if/elsif/end
in <% %>
tags as this is ERB
Upvotes: 0
Reputation: 19294
<%=
if (sign_on.acctypw1.strip =="DS")
select_tag(:distributor_number_X, options_for_select(distributors_array), {:style => "width:400px", :disabled => "true"})
else (sign_on.acctypw1.strip =="DSD")
select_tag(:distributor_number_X, options_for_select(distributors_array), {:style => "width:400px" })
end
%>
Upvotes: -1
Reputation: 11206
I assume this is in your view (erb.html file) Your if and else statements also have to go inside <% %>
.
<% if sign_on.acctypw1.strip =="DS" %>
<%= select_tag(:distributor_number_X, options_for_select(distributors_array), {:style => "width:400px", :disabled => "true"}) %>
<% else sign_on.acctypw1.strip =="DSD" %>
<%= select_tag(:distributor_number_X, options_for_select(distributors_array), {:style => "width:400px" }) %>
<% end %>
Also, something to keep in mind --
<% "This will be evaluated" %>
<%= "This will be evaluated and outputted to your view" %>
Upvotes: 4