0

这是我与 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 是启用了acts_as_taggable_on 的模型。

我的期望是,通过 ajax,向 company/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"}
4

1 回答 1

0

当您更新 ID 为 10 的 Company 等资源时,Rails 将使用 RESTful 路由:

PUT /companies/10

路由请求时会考虑 PUT 方法。取自您的路线:

PUT    /companies/:id(.:format)
  {:controller=>"companies", :action=>"update"}

这是 Rails 的正确行为。只需update在您的CompaniesController.

如果您需要有关 Rails 中 RESTful 路由的更多信息,请查看此文档: http: //guides.rubyonrails.org/routing.html

于 2010-10-26T12:25:49.357 回答