Im having problem with update action in my controller when the updated
text includes word 'from'.
here is message i get:
Processing ApplicationController#index (for 78.1.131.245 at 2010-11-13
19:11:09) [GET]
Parameters: {"commit"=>"Submit", "_method"=>"put",
"authenticity_token"=>"/rQ3EmaRkSEZpM7oCLqBGqyHV18qKJZURiLGTjSaImU=",
"page"=>{"background_id"=>"161", "content_en"=>"a London-based
architect originally from Hong Kong.", "title_en"=>"Gatehouse Room"}}
ActionController::RoutingError (No route matches "/500.shtml" with
{:method=>:get}):
If I exclude word from, i got this:
Processing PagesController#update (for 78.1.131.245 at 2010-11-13
19:16:30) [PUT]
Parameters: {"commit"=>"Submit", "action"=>"update",
"_method"=>"put", "authenticity_token"=>"/
rQ3EmaRkSEZpM7oCLqBGqyHV18qKJZURiLGTjSaImU=", "id"=>"22",
"page"=>{"background_id"=>"161", "content_en"=>"London-based architect
originally Hong Kong.", "title_en"=>"Gatehouse Room"},
"controller"=>"pages"}
The first one is processing ApplicationController#index, the second
PagesController#update. I don't think you should be processing
actions in ApplicationController.
The first one is processing ApplicationController#index, the second
PagesController#update. I don't think you should be processing
actions in ApplicationController.
Colin
But the code is the same, the only difference is what user is entering
inside text_area.
View code:
<% form_for @page do |f| %>
<%= f.error_messages %>
<p>
<div id='en' >
<strong><%= f.label :title_en %><br /></strong>
<%= f.text_field :title_en %><br />
<strong><%= f.label 'Tooltip' %><br /></strong>
<%= f.text_field :short_en %><br />
<strong><%= f.label :content_en %></strong><br />
<%= f.text_area :content_en%>
</div>
<p><%= f.submit "Submit" %></p>
<%end%>
Please remember to quote the previous message so that each message
makes some sense in it's own right, otherwise we have to search back
through previous messages to work out what you are talking about.
I would concentrate on finding out why (if) it is calling the wrong
action first. What happens after is irrelevant if it is calling the
wrong action. No SQL or anything else is performed before the
'Processing ....' message is logged.
By the way have you actually got actions inside ApplicationController?
This would be unusual I think. Though I may be wrong.
The first one is processing ApplicationController#index, the second
PagesController#update. I don't think you should be processing
actions in ApplicationController.
Colin
But the code is the same, the only difference is what user is entering
inside text_area.
Are you sure you are interpreting the log correctly? Have a look
before the 'processing ApplicationController#index' and check that the
submit is not there.
In my application_controller.rb i have this:
class ApplicationController < ActionController::Base
before_filter { |c| Authorization.current_user = c.current_user }
before_filter :set_locale
helper :all # include all helpers, all the time
protect_from_forgery
def set_locale
I18n.locale = 'en'
end
include Authentication
protected
def permission_denied
flash[:error] = "This action is not allowed."
redirect_to login_url
end
end