我想为用户的日程安排创建路线,但在不同的控制器中执行操作。
通过以下路线,我对用户提出了无限循环请求。
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
演讲者是User
,这是与课程的多对多关系。
我的观点只是JS中的一个日历,each
循环遍历@courses
答案 0 :(得分: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>
点击它需要模板,我没有它。我不会那么远:)