在Rails中查找要使用逻辑编辑的记录

时间:2016-01-15 14:13:24

标签: ruby-on-rails-4

我的Rail应用程序上的编辑方法有问题。它一直在工作,直到我开始添加一些逻辑。 我有一个视图,其中包含应该搜索数据库的控制器的链接,如果该用户存在记录,并且该夹具重定向到编辑操作,并允许用户编辑该记录,如果没有,则重定向到新操作。 进来的行动是teamentry。

  before_action :find_submisionedit, only: [:edit]
  def teamentry
    @venue = params[:fixture]
  if (Submission.exists?(:user_id => current_user.id)) && (Submission.exists?(:p1_venue => params[:fixture]))
    redirect_to action: "edit" , fixture: @venue
  else
    redirect_to action: "new" , fixture: @venue
  end
end

新动作正常。编辑会引发错误。

我正在尝试使用之前的行动。

def find_submisionedit
  @submission = Submission.where(user_id = current_user.id) && (p1_venue =    params[:fixture])
end

我得到一个no方法错误。 我猜这是因为之前的行动没有找到正确的信息?

1 个答案:

答案 0 :(得分:1)

你的语法错误。它应该是:

@submission = Submission.where(user_id: current_user.id, p1_venue: params[:fixture])

您也可以在teamentry方法中应用相同的逻辑:

if Submission.where(user_id: current_user.id, p1_venue: params[:fixture]).any?
  redirect_to action: "edit" , fixture: @venue
  #...