创建重定向到其他控制器后编辑

时间:2013-09-23 21:01:18

标签: ruby-on-rails controller ruby-on-rails-4 nested-routes

当用户在我的应用上创建一个新帐户时,我想将他重定向到另一个控制器,比方说,一个偏好控制器。

但我不知道怎么做,用户已创建,但未重定向到新页面

以下是用户

的创建
def create
  @user = User.new(params[:user])

  if params[:user][:newMusician]
    @user.preference = Preference.new
    if @user.save
      sign_in @user
      flash[:success] = "Welcome"
      redirect_to "/preference/edit/"
    else
      render 'new'
    end
  end
end

这是我的routes.rb

resources :users do
  resources :preferences

添加,如果关系是has_one,我还应该复数吗?因为每个用户只有一个偏好

另一个疑问,我只需要在我的偏好中进行编辑操作吗?

谢谢! (Rails 4 Ruby 2)

1 个答案:

答案 0 :(得分:0)

在您的终端运行中rake routes。你应该得到一条路线:

路径(帮助者)|方法|网址|控制器#动作

edit_user_preference | GET | users/:user_id/preferences/:id/edit | preferences#edit

添加单词路径并将变量user_idid传递给辅助方法,而不是"/preference/edit/"

edit_user_preference_path(@user.id, @preference.id)

您还需要更新操作来更新记录。