1

所以我在 www.myapp.com 有一个 Rails 应用程序,在 www.marketingpage.com 我有一个营销登录页面。

我想要发生的是,当人们在我的营销页面上填写注册表时,它由我的 Rails 应用程序管理。

我正在考虑在 myapp.com/mktg 上创建一个视图,然后将 www.marketingpage.com 重定向到 myapp.com/mktg。

但是,这种方法的问题是我不希望用户看到不同的域名进行注册。

我该如何解决这个问题,以便营销页面上的注册看起来和感觉像是一个完整的“迷你站点”,但它由我的主要 Rails 应用程序提供支持?

谢谢。

编辑 1

另一件事是,对于marketingpage.com 的注册页面,我只想对Devise使用电子邮件注册——所以marketingpage.com 不仅仅是一页。它将是 1 页,然后它们至少还有 1 或 2 页。因此,无论域/路由策略如何,也必须考虑到这一点。

4

1 回答 1

1

如果您有电子邮件输入:

<input id="email"></input>
<button id="submit-email"></button>

您可以在单击按钮时发送一个 jsonp(绕过同源限制)请求:

$('#submit-email').click(function() {
    submitted_email = $('#email').value()

    // client-side validations

    $.ajax({
        type: 'POST',
        dataType: 'jsonp',
        url: "http://www.myapp.com/signup",
        data: { user: { email: submitted_email } },
        success: function(data) {
            // signup success
        }
    });
});

在铁轨末端:

class UserController
    def signup
        @user = User.create(params[:user])
        // handle success/failure
        respond_to do |format|
            format.js { render :json => @user }
        end  
    end
end

要检索用户列表:

    $.ajax({
        type: 'GET',
        dataType: 'jsonp',
        url: "http://www.myapp.com/users",
        success: function(data) {
            // populate a list
        }
    });
于 2012-09-24T04:31:01.750 回答