Как я могу обновить ассоциацию (has_one) в Rails AR, используя link_to_remote? - PullRequest
0 голосов
/ 05 октября 2010

Вот что я имею в виду:

  <%= link_to_remote "Responded - Positive",
      :url => contact_path(@contact, :status => 'positive response'),
      :update => "status" %>

Это то, что я имею в качестве маршрута:

  map.resources :contacts, :has_one => :status_contact

Вот что я использовал в своем контроллере:

  def create
    @status_contact = StatusContact.new(params[:status_contact])
    if @status_contact.save
      #flash[:notice] = "Successfully created status contact."
      #redirect_to @status_contact
      render :text => "Set status to #{@status_contact.status}."
    else
      render :text => "bomb"
    end
  end

Мой желаемый результат заключается в том, что для конкретного контакта он обновит атрибут Contact.status значением 'положительный ответ' и сделает это через ajax.

Прямо сейчас я получаюошибка 404.Что мне нужно сделать, чтобы исправить это?

Это ошибка, которую я все еще получаю:

POST http://localhost:3000/contacts/24?method=put&status=positive+response 404 Not Found
    312ms

1 Ответ

0 голосов
/ 05 октября 2010

Вы, вероятно, отправляете запрос с неправильным глаголом (: post вместо: put). Какое действие вашего контроллера вы пытаетесь достичь? Вероятно, это действие по обновлению ... Попробуйте изменить ссылку, указав метод: put:

<%= link_to_remote "Responded - Positive", :url => contact_path(@contact, :status => 'positive response'), :method => :put, :update => "status" %>
...