错误说
FacilitatorController中的SystemStackError #index
但它不是控制器的问题,因为如果我在那里改变线条没有任何反应。它确实到达了控制器。我认为这可能是一个路由问题,但我不确定是什么导致它。
链接
<%= link_to "Add Facilitators", facilitator_index_path(:course => @course.id), >:method => :get %>
相关路线
resources :facilitator
delete '/facilitator', to: 'facilitator#delete', as: 'facilitator_delete'
某些控制器
class FacilitatorController < ApplicationController
def index
@course = Course.find(params[:course])
if params[:search_field]
@user = User.select{|user| user.email.downcase.include? params[:search_field].downcase}
else
@user = User.where('id not in (?)', @course.facilitators)
end
end
end
我认为这可能与课程模型有关,这些模型通过别名提供辅导员,并且与辅导员控制器相冲突?
class Course < ActiveRecord::Base
...
has_many :facilitate_ownedcourses, foreign_key: :ownedcourse_id
has_many :facilitators, through: :facilitate_ownedcourses, source: :facilitator
有人可以帮忙吗?
答案 0 :(得分:0)
首先,您的link_to
中有一个拼写错误,应该是:method
而不是>:method
同样在你的控制器中
@user = User.select{|user| user.email.downcase.include? params[:search_field].downcase}
应该是
@user = User.all.select{|user| user.email.downcase.include? params[:search_field].downcase}
或更好
@user = User.where('email like ?', "%#{params[:search_field].downcase}%")
要处理case
,如果您使用的是postgres,则可以更改like
ilike
,或者如果您使用的是mysql,则可以使用lower(email)
答案 1 :(得分:0)
首先,你有一个语法错误&#34;添加辅导员&#34;链接,假设它输入错误。
其次,回溯将有助于提供建议,但有以下建议: