作为表格的一部分,我认为:
<%= 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])