我真的被这个东西困住了..
我有 回答 问题[数组] 响应表>字段和我正在尝试做的是,如果我要输入'HI'它将循环通过问题字段中的所有响应数组,找到一个匹配,它应该返回一个答案或id
响应以获得答案。
#<Response id: 3, answer: "Hi, there!", question: ["hi", "hello", "sup"]>
如果问题匹配,则输出应为id
;如果我在数组中键入以下输入之一,则输出应为answer
Response.all.each do |r|
r.include? "hi"
end
知道怎么做吗?
答案 0 :(得分:1)
几乎就在那里!这应该有效:
response = Response.find do |r|
r.question.include? "hi"
end
如果你想要答案:
response.answer
检查response
不是nil
后。
如果您使用Ruby 2.3,则可以使用
response&.answer
注意:
question
只是一个问题(String),questions
将是一个问题列表(一个字符串数组)。['Hi', 'Hello'].include? 'hi' #=> false