我有下面的代码在我show.html.erb文件之一:NoMethodError在我的模型#show行动
<p>
<b>Status:</b>
<% if @server.serverUp?.to_s == "Up" %>
<% @server.update_attribute(@server.serverStatus, 'Up') %>
<span style="color: green;"> <%= @server.serverUp? %></span>
<% else %>
<span style="color: #ff0000;"> <%= @server.serverUp? %></span>
<% end %>
</p>
我的主要关注点是打破我的应用程序从工作线<% @server.update_attribute(@server.serverStatus, 'Up') %>
。这行应该保存服务器的状态,无论是“Up”还是“Down”,并将其保存在“serverStatus”列下的“servers”表中。
然而,当我去http://localhost:3000/servers/id_of_server,其中“id_of_server”是从1-300的数字,出现以下错误信息:
NoMethodError in Servers#show
Showing C:/SIS/app/views/servers/show.html.erb where line #18 raised:
undefined method `=' for #<Server:0x60b9358>
Extracted source (around line #18):
15: <p>
16: <b>Status:</b>
17: <% if @server.serverUp?.to_s == "Up" %>
18: <% @server.update_attribute(@server.serverStatus, 'Up') %>
19: <span style="color: green;"> <%= @server.serverUp? %></span>
20: <% else %>
21: <span style="color: #ff0000;"> <%= @server.serverUp? %></span>
我似乎不理解的错误消息,因为我在提供的代码摘录中未使用等号。任何帮助,将不胜感激。
如果你们需要更多信息请告诉我。
在此先感谢
编辑:,而我在这,我只是想通过把这种类型的代码到show.html.erb文件来问我是否不按约定回报率而不是别的地方?因为在同一个文件中,我还有另一种算法,它读取模型的所有属性,将其放入数组中,并仅显示唯一值。
感谢
不错,这解决了错误,但是存在现在认为这个值是不实际存储到数据库中的问题。我需要将它保存在数据库中,并显示在我的应用程序的index.html.erb中。任何想法为什么它没有保存? – omarArroum
你为什么说它没有保存?你有没有检查控制台或其他地方?有时候,你需要重新加载对象。 – apneadiving
我检查了数据库,索引页和IRB。它在irb中完全没有保存 – omarArroum