[英]PG::UndefinedTable: ERROR: missing FROM-clause entry for table
[英]PG::UndefinedTable: ERROR: missing FROM-clause
作為我在視圖中的表單的一部分:
<%= 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子句條目
我不確定導致此錯誤的原因。 在@user
行之前放置debugger
確認params[:email]
。 但是如果我輸入User.find(email: params[:email])
它也會在debugger
返回上面的回車。 可能導致錯誤的原因是什么?
您可以嘗試find_by
而不是find
def create
@user = User.find_by(email: params[:email])
這是更新后的副本:
def create
@user = User.where(email: params[:email]).first
end
def create
@user = User.where(email: params[:email])
PG :: UndefinedTable:錯誤:缺少表“id”的FROM子句條目
默認情況下, find
會查找id
。 你需要使用find_by
@user = User.find_by(email: params[:email])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.