Как правильно опубликовать информацию о событии, отмеченном флажком onclick (RoR3) - PullRequest
0 голосов
/ 25 апреля 2011

Я начинаю с RoR, и это моя первая попытка использовать новую функцию remote_function.У меня есть своего рода приложение для управления проектами, поэтому у вас есть проекты (потоки), и у них есть несколько задач.Внутри представления потокового просмотра я хочу перечислить задачи с флажком рядом с ними.Если пользователь нажимает на флажок, я хочу опубликовать в / tasks / 3 посылку выполнено = true, чтобы запись, вероятно, была обновлена.

Вот код, который я придумал:

<% = check_box_tag "id", "id", task.done,: onclick => remote_function (: update => "task",: url => {: action =>: update},: with => "done = true" ",: complete =>" alert ('hi') ")%>

Распечатываетфлажок, и он проверяет это автоматически в зависимости от статуса task.done.Но когда я запускаю onclick и смотрю логи, я вижу следующую запись:

ActionController :: RoutingError (Нет совпадений с маршрутом "/ streams / 3"):

"/ streams / 3"звучит неправильно, я действительно ожидал бы увидеть что-то вроде / tasks / id.

Можете ли вы помочь мне понять, что я делаю неправильно?

Вот полный тексткод для просмотра.

<tr>
  <td class="task">
    <span class="tasktitle">


<%= check_box_tag "id", "id", task.done, 
    :onclick => remote_function(
      :update => "task", 
      :url => { :action => :update }, 
      :with => "'done=true'", 
      :complete => "alert('hi')"  ) %>



<span class="<%= if (task.done) then "editable_field_complete" else "editable_field" end %>" id="task_title_<%= task.id %>">
<%= best_in_place task, :title, :type => :input %>
</span>
</span>
    <span class="taskdelete"><%= link_to "delete", task, :method => :delete, :class => "delete",
                                     :confirm => "You sure?",
                                     :title => task.title %></span>
    <span class="taskcreated">
      Created <%= time_ago_in_words(task.created_at) %> ago.
    </span>
  </td>
</tr>

Большое спасибо, ребята

Ответы [ 2 ]

0 голосов
/ 25 апреля 2011

Причина ошибки: Забыл упомянуть указатель контроллера Suggestoin: http://api.rubyonrails.org/classes/ActionDispatch/Routing/UrlFor.html Всегда используйте API для рельсов это очень полезно для меня.

0 голосов
/ 25 апреля 2011

Установлен ли флажок в виде «потока»?

Просто напишите :url => { :action => :update, :controller => 'tasks'}. Это должно решить вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...