0

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

但我不知道该怎么做,创建了用户,但它没有被重定向到新页面

这是用户创建的

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

这是我的路线.rb

resources :users do
  resources :preferences

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

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

谢谢!(轨道 4 红宝石 2)

4

1 回答 1

0

在您的终端运行rake routes. 您应该得到如下路线:

路径(助手) | 方法 | 网址 | 控制器#action

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

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

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

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

于 2013-09-23T21:41:57.177 回答