小编Ste*_*hen的帖子

如何在Heroku登台管道上进行db:db的迁移?

我在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手册中找不到任何指导:/

postgresql ruby-on-rails heroku

3
推荐指数
1
解决办法
1434
查看次数

用Devise跟踪多个注册路径

我在Rails中使用devise,并且尝试创建第二个注册路径,用户的默认注册路径(完美运行)和第二个注册路径,用户可以通过以下操作在一个动作中注册并创建项目: “入门”操作(想想Freelancer.com或非用户可以通过一个操作注册并创建他们的第一个项目的任何市场)。

我经历了很多线程,但是它们似乎都想替换现有的注册操作。我想保持现有的注册操作,要么添加getting_started_newgetting_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来自新控制器的 …

nested ruby-on-rails devise

2
推荐指数
1
解决办法
731
查看次数

标签 统计

ruby-on-rails ×2

devise ×1

heroku ×1

nested ×1

postgresql ×1