Ответ 1
Попробуйте это
jasdeep = "RAILS"
case jasdeep
when /IL/
puts "Hello"
end
Я использую что-то вроде этого:
case referer
when (referer.include? "some_string")
redirect_link = edit_product_path
when (referer.include? "some_other_string")
redirect_link = other_product_path
end
К сожалению, это возвращает нуль, даже если строка some_string
присутствует в переменной referer
.
Вот что я пробовал в Ruby Console:
ruby-1.8.7-p334 :006 > jasdeep = "RAILS"
ruby-1.8.7-p334 :026 > case jasdeep
ruby-1.8.7-p334 :027?> when (jasdeep.include? "AI")
ruby-1.8.7-p334 :028?> puts "Hello"
ruby-1.8.7-p334 :029?> end
=> nil
Любые входы будут оценены.
Попробуйте это
jasdeep = "RAILS"
case jasdeep
when /IL/
puts "Hello"
end
jasdeep = "RAILS"
case
when jasdeep.include?("AI")
puts "Hello"
end
case true
when referer.include? "some_string"
redirect_link = edit_product_path
when referer.include? "some_other_string"
redirect_link = other_product_path
end
Это nil - это возвращаемое значение из инструкции puts, а не из .include?. Попробуйте выполнить следующие два оператора отдельно от консоли и наблюдать за возвращаемым значением:
jasdeep.include? "AI"
puts "hello"