RoR: метод для возврата заявления в формате json? - PullRequest
1 голос
/ 09 марта 2020

Я ищу метод, который будет возвращать это утверждение в формате JSON.

def statement
   total = 0
   bonus points = 0
   result = 'Car rental for #{@name.to_s}\n'
    for r in @rentals
      this_amount = 0
      case r.car.style
      when Car::SUV
          this_amount += r.days_rented * 30
      when Car::HATCHBACK 
          this_amount += 15
      if r.days_rented > 3
          this_amount += (r.days_rented - 3) * 15
      end
      when Car::SALOON
          this_amount += 20
      if r.days_rented > 2
          this_amount += (r.days_rented - 2) * 15
      end
      else
    end

        if this_amount < 0
            bonus_points -= 10
        end

        bonus_points = bonus_points + 1
        if r.car.style == Car::SUV && r.days_rented > 1
            bonus_points = bonus_points + 1
        end

        result += r.car.title.to_s + "," + this_amount.to_s + "\n"
        total += this_amount
    end

    result += "Amount owed is " + "#{total.to_s}" + "\n"
    result +="Earned bonus points: " + bonus_points.to_s
    result
end

Какой метод мне нужно добавить в мой класс, чтобы вернуть этот оператор в формате JSON? Спасибо.

1 Ответ

0 голосов
/ 09 марта 2020

Самый простой способ сделать это

return {:result => result}

в конце вашего метода.

Но если вы используете контроллер для показа данных пользователю, я бы предпочел использовать .to_json в моем методе контроллера

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...