我在Heroku上设置了一个应用程序,现在我还设置了一个用于分段的管道.我是通过在Heroku上创建我的生产应用程序的分支,然后将其添加到"临时"阶段下的应用程序管道来实现的.
在此之前(当我只在生产中使用该应用程序时),我从CLI将更新推送到heroku git push heroku master.然后,我可以使用更新数据库来获取新功能heroku run rake db:migrate.
但是,我不确定如何使用管道中的暂存应用程序执行此操作?我尝试使用--remote附件,但它不识别应用程序(我认为因为它--remote是预管道?)
我有来自git setup的自动更新,以便我的app-staging始终镜像我的git master,我刚刚添加了一个包含表的新功能.暂存站点上的视图现在返回错误,因为我没有heroku run rake db:migrate在暂存站点上运行.
我显然不想在不知道这个新功能的情况下将这些更改推向生产.你是怎么做到的?任何想法如何rake db:迁移管道登台数据库?我在heroku手册中找不到任何指导:/
我在Rails中使用devise,并且尝试创建第二个注册路径,用户的默认注册路径(完美运行)和第二个注册路径,用户可以通过以下操作在一个动作中注册并创建项目: “入门”操作(想想Freelancer.com或非用户可以通过一个操作注册并创建他们的第一个项目的任何市场)。
我经历了很多线程,但是它们似乎都想替换现有的注册操作。我想保持现有的注册操作,要么添加getting_started_new和getting_started_create行动,以现有的User::Registration控制器,或创建一个新的GettingStarted控制器与方法new,并create随后将允许嵌套形式(用户和他们的新项目)。
我最新的迭代看起来像这样:
routes.rb
devise_for :users
resources :users do
resources :projects
end
devise_scope :user do
get "getting_started" =>'getting_started#new'
post "getting_started" =>'getting_started#create'
end
Run Code Online (Sandbox Code Playgroud)
Getting_started_controller.rb
class GettingStartedController < Devise::RegistrationsController
def new
@user = User.new
@user.projects.build
end
def create
@user = User.new(getting_started_params)
redirect_to root, notice: "Done"
end
private
def getting_started_params
params.require(:user).permit(:first_name, :last_name, :phone, :password, :email, projects_attributes: [:user_id, :project_type_id, :name, :industry_id, :description, :budget_id, :project_status_id, feature_ids:[], addon_ids:[]])
end
end
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试并实际提交表单时,它将加载get来自新控制器的 …