如何在没有视图的情况下在轨道上添加新的控制器方法ruby?

时间:2014-08-07 17:58:11

标签: ruby-on-rails methods view controller

我想在控制器中添加一个新方法,因此我可以从js发送ajax请求,而无需更改视图。

我在控制器中添加了以下内容:

  def select_teams
@team = Team.where(@team.champeonship_id >= params[:champeonship_id])

respond_to do |format|
  if @team.save
    format.json { render :text => @team }
  else
    format.json { render json: @team.errors, status: :unprocessable_entity }
  end
end

以及routes.rb中的以下内容

resources :teams do
collection do
  post :select_teams
end

问题是,当我发出请求时,控制器调用set_team,id = select_teams

谢谢!

1 个答案:

答案 0 :(得分:0)

如果问题是在错误的地方调用了set_teams

在控制器的顶部应该有类似

的东西
before_action :set_teams, except: [:index, :new, :select_teams]

您可能只需要将精选团队添加到其中。