2016-05-31 2 views
0

@user 해시를 컨트롤러로 어떻게 보냅니 까? 컨트롤러의 "생성"에 대한 @customer의 값이 이미있는 뷰에서 사용자를 만들려고합니다. 그러나 그것은 나에게 정의되지 않은 메소드`permit '을 제공합니다 : 내 params.require (...)에 대한 NilClass 저는이 웹 사이트와 다른 사람들을 둘러 보았고 책을 읽고 지금 3 일 동안 작업 해 왔습니다. 나는 슈퍼 초보자이다. 미리 감사드립니다. LINK_TO에서보기에서 컨트롤러에 해시 값 보내기

def user_params 
params.require(:user).permit(:name, :email) 
+0

에 추가? – Thorin

+0

컨트롤러에 사용자 해시를 보낼 필요가 없습니다. 컨트롤러에 user_id를 전달하고 다른 세부 정보를 얻을 수 있습니다. – Thorin

+0

예. 그리고 이것은 사용자 컨트롤러가 아닌 다른 시각에서 나온 것임을 언급하는 것을 잊었습니다. – kimmo

답변

0

패스 PARAMS : 내 컨트롤러에서

link_to "Add User", users_path(@user), method: :post 

: 내보기에서

link_to "Add User", users_path(@user,:user => {:name => @user.name,:email => @user.email}), method: :post 

주목 나

+0

고마워,하지만 여전히 나에게 똑같은 오류가 발생하고있다. – kimmo

+0

아니, 신경 쓰지 마. 정말 고마워! – kimmo

0

에 대한 작업 당신의 경우 사용자 th를 복사해야합니다. 나는 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 

는 LINK_TO 방법으로 새 ​​레코드로 사용자 레코드를 복사하려고 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 
+0

이것은 시원합니다. 당신의 답변에 감사드립니다. 나는 당신의 코드를 연구하고 이것을 통합 할 것이다. – kimmo