0

我想为用户的日程安排创建一条路线,但在不同的控制器中执行操作。

通过以下路线,我有一个无限循环的用户请求。

  resources :users do
    member do
      get "schedule" => "schedule#user"
    end
  end

来自 development.log 的日志:

...

  [1m[35mCACHE (0.0ms)[0m  SELECT `users`.* FROM `users` WHERE `users`.`id` = 122 LIMIT 1
  [1m[35mCACHE (0.0ms)[0m  SELECT `users`.* FROM `users` WHERE `users`.`id` = 122 LIMIT 1
  [1m[35mCACHE (0.0ms)[0m  SELECT `users`.* FROM `users` WHERE `users`.`id` = 122 LIMIT 1
  [1m[35mCACHE (0.0ms)[0m  SELECT `users`.* FROM `users` WHERE `users`.`id` = 122 LIMIT 1

...

我试图删除member块,但它仍然被阻止在循环中。

它似乎处于无限递归中,但我不知道为什么。

编辑1:

我有同样的问题get "users/:user_id/schedule" => "schedule#user"

编辑2:

我的动作很简单:

  def user
    @courses = Course.includes(:speakers).where("users.id = ?", params[:user_id])

    respond_to do |format|
      format.html { render 'user' }
    end
  end

演讲者是Users,它与课程是多对多的关系。我的观点只是 JS 中的一个日历,有一个each循环@courses

4

1 回答 1

0

目前还不清楚您需要获取的网址是什么。哪个控制器在执行什么操作。

我会去:

编辑

get 'users/:id/schedule' => 'schedule#user', as: :schedule

这将在任何资源块之外。如果这不是您要查找的内容,请发布您想要调用的控制器和操作,我会更新我的答案。我至少会尝试。祝你好运。

控制器

class SalesController < ApplicationController
  def schedule
  end
end

路线

get "users/:id/schedule" => 'sales#schedule', as: :schedule

关联

<%= link_to "go", schedule_path(user.id) %>

结果

<a href="/users/1/schedule">Schedule</a>

点击它需要模板,我没有。我不会走那么远:)

于 2013-05-30T10:56:33.503 回答