Как мне обновить значение: has_one через link_to_remote? - PullRequest
0 голосов
/ 25 сентября 2010

Я хочу иметь возможность изменить значение для: status_contact для модели Contact (has_one: status_contact

Вот фрагмент со ссылкой_ремени:

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

Здесь приведены соответствующие определения модели для Contact.rb

.
  has_one :status_contact
  alias_attribute :status, :status_contact

По ошибке кажется, что, возможно, мне нужно создать специальный маршрут?

http://localhost:3000/contacts/22
404 Not Found

Как мне получить его, чтобы, когда я нажимал на link_to_remote, он изменял значение через ajax?

Обновление: новая ошибка Я внес изменения согласно ниже:

:url=> contact_path(@contact, :status => 'positive response')

Я не уверен, какое действие он ищет в контроллере. У меня есть действие «обновить». Это URL, который передается через консоль Firebug:

http://localhost:3000/contacts/16?status=positive+response

<h1>Unknown action</h1>
<p>No action responded to 16. Actions: build_date_from_params, create, destroy, edit, index, message_sub, new, set_contact_delay, set_contact_email, set_contact_phone, set_contact_title, show, and update</p>

1 Ответ

0 голосов
/ 25 сентября 2010

contacts_url отображается на :controller => "some_controller", :action => "index"

. Вам нужно изменить действие на update

. Правильный маршрут для этого: contact_path

.
...