gpt4 book ai didi

ruby-on-rails-3 - 如何检查 ActiveRecord 表条目是否为空

转载 作者:行者123 更新时间:2023-11-29 13:05:31 25 4
gpt4 key购买 nike

我不确定这个问题的标题是否使用了正确的行话,但希望这个描述会有所帮助。如果您需要更多信息,请告诉我。

我正在从一个表格中获取中文文本并将其拆分为一个二维的句子和单词数组。然后我想在我的数据库中使用字典条目定义所有单词。有些词不在数据库中,所以我想检查一下。我正在尝试的方法不起作用。

这是我当前的代码:

<% @lesson.parsed_content.each_with_index do |sentence, si| %> #iterate 1st dimension
<% sentence.each_with_index do |word,wi| %> #iterate 2nd dimension
<% sentence = sentence.to_s %>
<div class="word blt" id="<%= wi %>">
<div class="definition blt">
<% definition = DictionaryEntry.where(:simplified => word) %> #search by simplified chinese
<% definition.find_each do |w| %>
<% if w.definition == nil %> # PROBLEM: this never returns true.
<%= word %>
<% else %>
<%= w.definition %>
<% end %>
<% end %>
</div>
<div class='chinese blt'> <%= word %></div>
</div>
<% end %>
<% end %>

如何更改 <% if w.definition == nil %>如果我的数据库中没有定义,则返回 true?

最佳答案

这是在黑暗中拍摄的,但首先我会在您将变量句子转换为字符串并循环遍历它时切换您的代码。 (除非你有理由这样做)

<% sentence = sentence.to_s %>
<% sentence.each_with_index do |word,wi| %> #iterate 2nd dimension

其次,根据您的数据放入数据库的方式,它可能是一个空字符串而不是 nil。所以我会改变条件从

<% if w.definition == nil %> # PROBLEM: this never returns true.

<% if w.definition.blank? %> # Checks to see if definition is blank

Blank 将检查其是否为假、空或空白字符串。

最后,缩进很有用,尤其是在运行循环和条件语句时。这对眼睛来说更容易,并且可以帮助您了解正在发生的事情。

<% @lesson.parsed_content.each_with_index do |sentence, si| %> 
<% sentence = sentence.to_s %>
<% sentence.each_with_index do |word,wi| %>
<div class="word blt" id="<%= wi %>">
<div class="definition blt">
<% definition = DictionaryEntry.where(:simplified => word) %>
<% if definition.empty? %>
<% word %>
<% else %>
<% definition.find_each do |w| %>
<%= w.definition %>
<% end %>
<% end %>
</div>
<div class='chinese blt'> <%= word %></div>
</div>
<% end %>
<% end %>

让我知道结果。

关于ruby-on-rails-3 - 如何检查 ActiveRecord 表条目是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13941848/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com