使用click事件更新数据库记录

时间:2013-02-13 07:13:18

标签: ruby-on-rails jquery rails-activerecord ujs

您好我正在尝试从点击事件远程更新数据库中的元素。 当click事件被触发时,我收到以下错误,但我相信我正在使用正确的方法

Started PUT "/availabilities/131/edit" for 124.168.74.144 at 2013-02-13 08:02:40 +0100

ActionController::RoutingError (No route matches [PUT] "/availabilities/131/edit"):

haml click事件

.six.columns#named_players


 %h5 Named Players
  %table.twelve
    %thead
      %tr
        %th Change Status
        %th Attending
    %tbody
      - @availabilities.each do |a|
        %tr
          %td= full_name(a.user)
          %td
            %ul.button-group.two-up.even
              %li= button_to 'Accept', edit_availability_path(a), :remote => true, :method => :put, :class => 'button tiny success', :disable_with => 'Add'
              %li= link_to 'Decline', '#', :remote => true, :method => :put, :class => 'button tiny alert'

控制器

def update
    @availability = Availability.find(params[:id])

    respond_to do |format|
      if @availability.update_attributes(params[:availability])
        format.html { redirect_to @availability, :notice => 'Availability was successfully updated.' }
        format.js
      else
        format.html { render :action => "edit" }
        format.js
      end
    end
  end

1 个答案:

答案 0 :(得分:0)

您正在点击[PUT] "/availabilities/131/edit"而不是[PUT] "/availabilities/131/update"