Rails 中如何修改用户提交的数据?

某个支付接口 API 要求提交的数值是以「分」为单位的,比方说要支付 10 块钱,提交的数值得是 1000 。

但是我显然不能在网页上叫用户输入 1000 吧……

现在我在 controller 里面用这样的方式:

  def process_payment    @card_transaction_details = CardTransactionDetails.new(card_transaction_details_params)    @card_transaction_details.amount = (@card_transaction_details.amount.to_i * 100).to_s...  # 如果表单没填对  flash.now[:error] = MESSAGE_INVALID_DETAILS  render '填表页'end

这样支付成功的话没有问题,但是如果表单有问题的话,重新 render 填表页的时候,付款数值那个 field 就会出问题。

比方说还是要支付 10 块钱,数值 field 填 10 ,然后填表的时候忘了填地址,重新 render 这一页的时候,那个 field 里面就会自动填上 1000 ,这很危险。

请问正确的 practice 应该是什么啊,thx。

Rails 中如何修改用户提交的数据?

相关文章:

你感兴趣的文章:

标签云: