作为表格的一部分,我认为:

<%= form_for(@invitation, method: :post, url: addinvite_path) do |f| %>
  ...
  <label for="email", title="email"></label>
  <%= email_field_tag :email, nil, placeholder: 'Email', autocomplete: 'off', required: true %><br>
  ...

处理表单提交的邀请控制器方法:
def create
  @user = User.find(email: params[:email])
  ...

提交表单会产生指向@user行的错误:
pg::undefinedtable:错误:表“id”的FROM子句项丢失
我不知道是什么导致了这个错误。将debugger放在@user行之前确认params[:email]有一个值。但在debugger中,如果输入User.find(email: params[:email]),则返回上面的回车键。是什么导致了这个错误?

最佳答案

pg::undefinedtable:错误:表“id”的FROM子句项丢失
默认情况下find将查找id。您需要使用find_by

@user = User.find_by(email: params[:email])

10-04 22:30
查看更多