当用户在我的应用上创建一个新帐户时,我想将他重定向到另一个控制器,比方说,一个偏好控制器。
但我不知道怎么做,用户已创建,但未重定向到新页面
以下是用户
的创建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)
答案 0 :(得分:0)
在您的终端运行中rake routes
。你应该得到一条路线:
路径(帮助者)|方法|网址|控制器#动作
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)
您还需要更新操作来更新记录。