如何将@user哈希发送到控制器?我试图从@customer中已经有一些值的视图中创建一个用户来创建"创建"在控制器中。但它给了我未定义的方法`许可'为nil:NilClass为我的params.require(...)我在这个网站以及其他地方到处浏览并阅读书籍并且已经工作了3天了。我是超级的新手。提前致谢。
在我看来:
link_to "Add User", users_path(@user), method: :post
在我的控制器中:
def user_params
params.require(:user).permit(:name, :email)
答案 0 :(得分:0)
在link_to中传递参数:
link_to "Add User", users_path(@user,:user => {:name => @user.name,:email => @user.email} ), method: :post
检查这对我有用
答案 1 :(得分:0)
如果您需要复制用户,我建议在users_controller.rb中创建一个新方法
def clone_user
user = User.find(params[:id])
new_user = user.dup
new_user.save
redirect_to root_path #whatever path you need
end
在routes.rb上添加此内容
resources :users do
collection do
post :clone_user
end
end
link_to "Add User", clone_user_user_path(id: @user.id), method: :post