ruby-on-rails - ActionView::Template::Error(没有将 nil 隐式转换为 String)

标签 ruby-on-rails ruby ruby-on-rails-4

我以前从未遇到过这样的错误,并且不知道如何消除它。

ActionView::Template::Error (no implicit conversion of nil into String)
...
24: <p>Genre:<%= link_to @movie.genre, "movies?genre=" + @movie.genre.to_s %></p>
....
app/views/movies/show.html.erb:24:in `+'

最佳答案

您需要能够处理可能的 nil 值。将您的代码更改为:

<p>Genre:<%= link_to @movie.try(:genre), "movies?genre=" + @movie.try(:genre) %></p>

由于整个链接取决于流派,您甚至可以这样做:

<p>Genre:<%= link_to @movie.try(:genre), "movies?genre=" + @movie.try(:genre) if @movie.genre %></p>

关于ruby-on-rails - ActionView::Template::Error(没有将 nil 隐式转换为 String),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23940396/

相关文章:

ruby-on-rails - Rails - 如何获取访问者的IP地址?

ruby-on-rails - 嵌套资源的 Rails 路线索引

ruby - 正数/负数总和语法错误

ruby-on-rails - 从清除密码存储迁移到 authlogic

ruby-on-rails - Ruby on Rails : Using Refile Gem, 显示图像而不裁剪或扭曲图像

ruby-on-rails - 最佳Ruby on Rails WebSocket工具

ruby-on-rails - 如何使用curl 使用回形针上传文件?

javascript - Rails - 使用新表条目刷新页面

ruby-on-rails - Eventmachine start_tcp_server 没有接受者 - 端口正在使用或需要 root 权限(RuntimeError)

postgresql - docker 中的 pg_dump 问题