ruby-on-rails - 获取值形式,如果为空,则将该字段留空以供输入
问题描述
嗨,我已经自动化了我的字段,但是如果要检索的值为 null,它会为 nil 设置错误未定义方法:NilClass 我如何在视图中通过获取值解决此问题
控制器
def show
@ref_entraineur = CarriereDocumentFootballeur.where(id: params[:id])
end
在视图中
<%= f.text_field :num_entraineur , label: "Numéro Entraineur " , value: @ref_entraineur.last.num_entraineur %>
解决方案
由于@ref_entraineur可以为 nil,因此您不能直接在其上调用last.num_entraineur,因为如果 @ref_entraineur 为 nil,它将不会响应这些字段/方法。因此,为了更安全,您应该在表单/视图中使用“安全导航运算符”(&),如下所示:
value: @ref_entraineur&.last&.num_entraineur
这样,如果@ref_entraineur为 nil(未找到记录),您的f.text_field :num_entraineur的值将是 nil/空字符串,并且不会引发运行时错误。
推荐阅读
- jquery - 将 div 与下一个 div 交换
- python-3.x - 在 pandas 中设置 csv 文件的子集
- javascript - 如何指定要在角度中包含代码覆盖文件的文件夹?
- sql - 有没有办法改变这个 BigQuery 自联接以使用窗口函数?
- c# - C# 中异步方法的匿名对象任务的正确返回类型
- c# - 从 C# 调用正在运行的访问应用程序的 msaccess 方法
- docker - 如何使用当前主机用户运行 Windows docker 容器?- 泊坞窗
- c# - 当一个请求超时时,HttpClient Parallel Requests Timeout 使用 Task.WhenAll
- python-3.x - 向轴添加额外维度
- google-apps-script - 在电子表格中的所有列上运行的累积和