在子目录中创建Rails控制器

时间:2015-06-10 02:54:05

标签: ruby-on-rails ruby-on-rails-4 terminal

如何在默认值以外的其他目录中创建rails事件控制器:

    <script src="https://checkout.stripe.com/checkout.js"></script>
    <script>

    var handler = StripeCheckout.configure({
        key: 'pk_test_******************',
        image: '/img/documentation/checkout/marketplace.png',
        token: function(token) {
          /*$.post("php/charge.php",{stripeToken:token.id},function(data,status){
              console.log("Data: "+ data+"\nStatus: "+status);
          });*/
          alert(token.used);//alerts false
          $.post("php/charge.php",{stripeToken:token.id});
          alert(token.used);// still alerts false
        }
      });

      $('#myButton').on('click', function(e) {
        // Open Checkout with further options
        handler.open({
          name: 'Demo Site',
          description: '2 widgets',
          currency: "cad",
          amount: 2000
        });
        e.preventDefault();
      });

      // Close Checkout on page navigation
      $(window).on('popstate', function() {
        handler.close();
      });
    </script>

我需要在<?php require_once('config.php'); $token = $_POST['stripeToken']; $customer = \Stripe\Customer::create(array( 'email' => 'test@test.com', 'card' => $token )); //try { $charge = \Stripe\Charge::create(array( "amount" => 1000, // amount in cents, again "currency" => "cad", "source" => $token, "description" => "Example charge") ); //}catch(\Stripe\Error\Card $e) { // The card has been declined //} ?>

中创建

我创建了app/controllers/events_controller.rb 子目录,并在终端中为app/controllers/api/events_controller.rb做了api。当我创建控制器时,它仍然以默认api生成。

感谢。

2 个答案:

答案 0 :(得分:1)

您可以命名控制器(生成如下:rails g controller API::Events)。

将您的控制器放在api目录中的controllers目录中,并将控制器的类命名为:

class API::EventsController < ApplicationController

此处讨论的更多详细信息:https://stackoverflow.com/a/9946410/1026898

如果这不是您想要做的,那么rails往往倾向于不将该控制器放在不同的目录中。

这样做没有任何损害,这有点奇怪。默认情况下,rails生成器用于将控制器放在常规目录中。

如果要更改生成位置,则必须更新生成器。

答案 1 :(得分:0)

使用rails generator执行此操作:

rails g controller API::Events