Hi,
Iam getting the following error
ActionController::MethodNotAllowed
Only get, put and delete requests are allowed.
Actually, Iam trying to have multiple actions for a form to create
new record. The actions for the form are cancel, save, publish and
preview.
here’s the config/routes.rb file code snippet for the relevant
controller - Events
map.resources :events, :member => {:manage => :get}, :new => {:preview
=> :post, :publilsh => :post}
The EventsController has functions for new, create, edit, update,
manage, preview and publish.
the new.html.erb snippet is
<% form_for @event, :url => events_path, :html => {:multipart =>
true, :id => “event_form”} do |f| -%>
<%= render :partial => “form”, :locals => {:f => f} %>
<%= link_to image_tag("/images/btn-cancel.png", :border => 0),
dashboard_path, :style => “float:left;” %>
<%= link_to_function image_tag("/images/btn-publish.png", :border =>
0), “publish_event($(this));”, :style => “padding-right:20px;” %>
<%= link_to_function image_tag("/images/btn-preview.png", :border =>
0), “preview_event($(this));”, :style => “padding-right:20px;” %>
<% end -%>
the javascript functions in application.js
function preview_event(element){
element.up(’#event_form’).writeAttribute(‘target’, ‘_blank’);
element.up(’#event_form’).action = “preview”;
element.up(’#event_form’).method = “post”;
element.up(’#event_form’).submit();
element.up(’#event_form’).writeAttribute(‘target’, false);
}
function publish_event(element) {
element.up(’#event_form’).action = “publish”;
element.up(’#event_form’).method = “post”;
element.up(’#event_form’).submit();
}
Iam stuck with the error. Pls help