ruby-on-rails - 本地主机中出现 NoMethodError :3000

标签 ruby-on-rails ubuntu localhost

我一直在使用rails服务器来预览我对在gh上共享给我的网站代码所做的一些html/css更改,但我无法访问某些页面,因为我收到此错误:

/media 处无方法错误 nil 的未定义方法“each”:NilClas

这是用户个人资料中功能的页面;我在终端中创建了一个假用户,这样我就可以访问个人资料页面,但我想要在个人资料中使用的用户却给出了该错误。

这是代码的一部分:

  <div class="select_wrapper">

      <select name="trienal_id" id="" required>

      <option value="" disabled>Trienal</option>

      **<% Subject.where(discipline_type: 0)[1..3].each do |s| %>**

            <option value="<%= s.id %>" <%= "selected" if @tri_id==s.id %>><%= s.name %></option>

            <% end %>

       </select>

 </div>

最佳答案

在 irb 中试试这个($ irb)

> x = []
> x[0]
=> nil
> x[1]
=> nil

因此,您的查询很可能 Subject.where(discipline_type: 0) 返回 空白数组 [],后跟 [1..3] 结果是 nil 后跟 each ,这将导致 每个 nil:NilClas 的未定义方法

您应该使用limit函数(指定要检索的记录数的限制) 例如

Subject.where(discipline_type: 0).limit(3)

所以你的代码应该是这样的

<% Subject.where(discipline_type: 0).limit(3).each do |s| %>
  <option value="<%= s.id %>" <%= "selected" if @tri_id==s.id %>><%= s.name %></option>
<% end %>

关于ruby-on-rails - 本地主机中出现 NoMethodError :3000,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38856877/

相关文章:

ruby-on-rails - 哪个 rails vs rails -v vs 哪个 ruby

php - 如何在PHP5.5上安装V8js?

wordpress - 将 wordpress 安装移动到本地主机

ruby-on-rails - Stripe 连接入职限制国家? (锁定到 'Australia' )

javascript - 基于 Rails 的 javascript 应用程序的安全性 : How do you verify permissions on a user within rendered javascript?

mysql - 无法启动 WEBRick Web 服务器 - Ruby 抛出 MySQL 错误

PHP 版本在 phpinfo.php 文件中显示 7.2 版本而不是 PHP 7.4

ruby-on-rails - (Ubuntu)当我运行 "rails server"时它运行,但随后退出并给了我一堆我认为是错误消息

mysql - 主机设置为 127.0.0.1 与本地主机添加到 mysql 的用户有什么区别?

php - 连接本地MySQL服务器出现“Connection refused”错误?