Как использовать метод в контроллере для проверки ввода формы? - PullRequest
0 голосов
/ 20 января 2019

Вот функция, которую я хочу:

  1. Форма отправляется
  2. Форма ввода valid?
  3. Форма ввода (специфический ввод) проверяется через API с помощью verify метода
  4. если true, начинается следующая функция

Вот код, который у меня сейчас есть для создания:

def create
    @tweet_order = TweetOrder.new(tweet_order_params)
    @order = Order.find(params[:order_id])

    @tweet_order.order_id = @order.id

      if @tweet_order.valid?
        begin
          #Stripe_charge_

            rescue Stripe::CardError => e
              charge_error = e.message
            end
            if charge_error
              flash[:error] = charge_error
              redirect_to @order
            else

              if @tweet_order.save
              ....

Вот как я хочу:

def verify
    TwitterApi.client.search("to:#{@order.twitter_tag}", result_type: "recent").take(10).collect do |tweet|
       tweet.user.screen_name if tweet.user.screen_name.match(/#{@order.listing.listing_tweet.twitter_id}/i)
    end
end

def create
    @tweet_order = TweetOrder.new(tweet_order_params)
    @order = Order.find(params[:order_id])

    @tweet_order.order_id = @order.id

      if @tweet_order.valid? && verify
        begin
          #Stripe_charge_

            rescue Stripe::CardError => e
              charge_error = e.message
            end
            if charge_error
              flash[:error] = charge_error
              redirect_to @order
            else

              if @tweet_order.save
              ....

Обратите внимание на разницу: @tweet_order.valid? против @tweet_order.valid? && verify

Метод проверки создает true или false. Я проверил это в представлении переднего плана, и оно работает, но теперь я хочу реализовать его для проверки перед созданием заряда полосы и сохранения создания.

Как я могу успешно и эффективно делать это?

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