从视图向控制器发送哈希值

时间:2016-05-31 09:17:26

标签: ruby-on-rails

如何将@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)

2 个答案:

答案 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
相关问题