обновить запись с пользовательским действием и link_to - PullRequest
0 голосов
/ 07 января 2012

Я пытаюсь обновить один атрибут записи из текстовой ссылки, но я не могу заставить его работать.

вот мое действие контроллера:

  def approve
    @tattoo = Tattoo.find(params[:id])
    @tattoo.upate(:status => "approved")
      respond_to do |format|
        format.js
      end
  end

моя ссылка наэто:

<%= link_to "Approve", approve_admin_tattoos_path(tattoo), :remote =>true, :method => :put %>

и мой маршрут:

match "/admin/approve/:id" => "admin#approve", :as =>"approve_admin_tattoos", :via => :post

Но я продолжаю получать эту ошибку:

Started PUT "/admin/approve/223" for 127.0.0.1 at 2012-01-07 12:57:29 -0500
  Processing by ErrorsController#not_found as JS
  Parameters: {"id"=>"223"}
Rendered shared/_login.html.erb (192.1ms)
  Member Load (0.2ms)  SELECT `members`.* FROM `members` WHERE `members`.`id` = 7 LIMIT 1
  MemberRole Load (0.1ms)  SELECT `member_roles`.* FROM `member_roles` WHERE (`member_roles`.member_id = 7) LIMIT 1
  SQL (0.7ms)  SHOW TABLES
  SQL (0.1ms)  SELECT COUNT(*) FROM `tattoos` WHERE `tattoos`.`status` = 'pending'
      SQL (0.1ms)  SELECT COUNT(*) FROM `feedbacks` WHERE `feedbacks`.`approved` = 0
  SQL (0.1ms)  SELECT COUNT(*) FROM `tattoos` WHERE `tattoos`.`status` = 'reported'
Rendered shared/_navbar.html.erb (701.3ms)
Rendered shared/_login_form.html.erb (2.6ms)
Rendered errors/not_found.html.erb within layouts/application (912.7ms)
Completed 404 Not Found in 929ms (Views: 925.8ms | ActiveRecord: 1.4ms)

ActionController::RoutingError (uninitialized constant AdminController):

1 Ответ

1 голос
/ 07 января 2012

Я думаю, что это как-то связано с маршрутами. В ваших маршрутах у вас есть: via =>: post, но в представлении у вас есть: method =>: post. Если вы обновляете, то по REST вы должны были поставить. Вы также можете объявить ваши маршруты как:

поставить "утверждать" => "администратор # утверждать",: as => "Approve_admin_tattoos"

Кроме того, я думаю, что первая косая черта в 'match' / admin / Approve /: id "'также может стать причиной перерыва.

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