在 Rails 控制器中传递两个参数
Pass two params in a Rails Controller
我正在开展一个项目,该项目需要第三方(不是我的应用程序的注册用户)关注电子邮件 link 以更新文档。我为每个条目创建了一个 :token
列,并使用以下方法将其成功附加到电子邮件 link 中:
edit_form_url(:id => @form.id, :token => @form.token)
我的问题是尝试使用以下代码在我的控制器中引用附加参数:
def edit
@form = Form.find(params[:id],[:token])
redirect_to pages_error_path if @form.sign.present?
end
使用上述代码时,出现 Couldn't find all Forms with 'id': (193, token) (found 1 results, but was looking for 2)
错误。谁能帮我弄清楚我做错了什么?
看来我可能已经解决了我自己的问题,将其发布以供 Google 和错误检查:
def edit
@form = Form.find_by(token: params[:token], id: params[:id])
redirect_to pages_error_path if @form.sign.present?
end
我正在开展一个项目,该项目需要第三方(不是我的应用程序的注册用户)关注电子邮件 link 以更新文档。我为每个条目创建了一个 :token
列,并使用以下方法将其成功附加到电子邮件 link 中:
edit_form_url(:id => @form.id, :token => @form.token)
我的问题是尝试使用以下代码在我的控制器中引用附加参数:
def edit
@form = Form.find(params[:id],[:token])
redirect_to pages_error_path if @form.sign.present?
end
使用上述代码时,出现 Couldn't find all Forms with 'id': (193, token) (found 1 results, but was looking for 2)
错误。谁能帮我弄清楚我做错了什么?
看来我可能已经解决了我自己的问题,将其发布以供 Google 和错误检查:
def edit
@form = Form.find_by(token: params[:token], id: params[:id])
redirect_to pages_error_path if @form.sign.present?
end