ruby Rails中的条件逻辑问题:示例方法未返回预期值

vmpqdwk3  于 2023-08-04  发布在  Ruby
关注(0)|答案(1)|浏览(113)

我正在开发一个Rails应用程序,允许用户发布。我希望帖子是匿名的,如果数据库中的anon字段设置为1。为了实现这个功能,我在Post模型中添加了一个名为display_author的方法,如果anon为0,则返回用户名,如果anon为1,则返回字符串“Anon”。
型号

def display_author
        if anon == 0
            'Anon'
          else
            user.users
          end
    end

字符串
浏览文章

<% @posts.each do |post| %>
  <%= post.display_author %>
<% end %>


问题是,即使anon是1,我仍然看到用户名而不是“anon”。我已经检查了我的代码几次,并试图调试它,但我不能找出为什么它不按预期工作。
问题是,即使anon是1,我仍然看到用户名而不是“anon”。我已经检查了我的代码几次,并试图调试它,但我不能找出为什么它不按预期工作。

r55awzrz

r55awzrz1#

第一步:选择测试框架。
说真的,你的代码有一个基本的问题。你需要测试。
一旦你有了一个测试框架和一个失败的基本测试,在if anon == 0之前添加一个调试行,找出anon实际上是什么(提示,它不是0)。
然后进入anon方法,看看发生了什么。

相关问题