Это то, что я использовал с remote_form_tag:
<% form_remote_tag(:url => {:controller => '/companies', :action => 'update'},
:update => 'tags') do %>
<%= text_field :company, :tag_list %>
<%= submit_tag 'Save' %>
<% end %>
Это в Company.view, где Company - это модель, для которой действует activ_as_taggable_on.
Я ожидаючерез ajax публикуется сообщение для компаний / 10 / update
Но вместо этого публикуется сообщение:
http://localhost:3000/companies/10
и ответ:
No action responded to 10. Actions: create, destroy, edit, email_this_week, index, new, show, and update
Это метод обновления в CompaniesController:
def update
@company = Company.find(params[:id])
if request.xhr?
# add the given tag to the company
@company.tags << params[:company][:taglist]
@company.save
render :partial => 'tags'
else
if @company.update_attributes(params[:company])
flash[:notice] = "Successfully updated company."
redirect_to @company
else
render :action => 'edit'
end
end
end
Справка ...?
DELETE /companies/:company_id/contacts/:id(.:forma
{:controller=>"contacts", :action=>"destroy"}
companies GET /companies(.:format)
{:controller=>"companies", :action=>"index"}
POST /companies(.:format)
{:controller=>"companies", :action=>"create"}
new_company GET /companies/new(.:format)
{:controller=>"companies", :action=>"new"}
edit_company GET /companies/:id/edit(.:format)
{:controller=>"companies", :action=>"edit"}
company GET /companies/:id(.:format)
{:controller=>"companies", :action=>"show"}
PUT /companies/:id(.:format)
{:controller=>"companies", :action=>"update"}
DELETE /companies/:id(.:format)
{:controller=>"companies", :action=>"destroy"}