2013-08-24 1 views
0

이므로 Twitter처럼 가입 프로세스를 구축하려고합니다. 의미, 거기에 첫 번째 양식에서 autopopulated 필드와 전체 형태로 이어지는 양식을 사전 가입. 나는 이것을 최종 양식으로 :value => @name을 사용하여 만들려고 노력하고 있지만 작동하지 않으며 그 이유를 알 수 없습니다.사전 등록 양식의 매개 변수가있는 가입 양식 자동 채우기가

우선 형태 컨트롤러 : public_controller 액션 : 인덱스 (root_path)

<%= form_tag({:controller => "users", :action => "register"})%> 
    <input name="user[name]" type="text" /> 
    <input name="user[email]" type="text"/> 
    <input name="user[password]" type="password"/> 
    <input name="commit" type="submit" value="Sign Up!" /> 

두번째 형태 컨트롤러 : users_controller 액션 : 여기

간략화 내 코드의 등록 (/ 가입)

<%= form_for(:user, :url => { :controller => 'users', :action => 'create' }) do |f| %> 
    <%= f.text_field :name, :value => @name %> 
    <%= f.text_field :email, :value => @email %> 
    <%= f.password_field :password, :value => @password %> 
    <input name="commit" type="submit" 
      value="Sign Up!" /> 
    <% end %> 

Users_co

def register 
    @name  = params[:name] 
    @email = params[:email] 
    @password = params[:password] 
end 

PARAMS 최종 폼 페이지 (/ 가입)

{ "UTF8"=> "✓", "authenticity_token"=> "R3wVNHvqpDBi1Lg69lwKu4NeQGjA12oV/Aytw38OeHc ="전달된다 ntroller, "스태커", "password_confirmation"=> "스태커"} "커밋" "사용자"= "{"이름 "=>"Stackoverflow ","이메일 "=>"[email protected] " => "등록"=> "등록"=> "" "컨트롤러"=> "사용자", "동작"=> "등록"}

그러나 최종 폼의 필드는 자동 채우기되지 않습니다.

params[:name]과 함께 사용해 보았지만 효과가 없으며 입력 값이 단순히 value = "nil"이됩니다.

나는 여기에서 시도 할 다른 것을 생각할 수 없다. 어떤 아이디어? 미리 감사드립니다! 어떤 도움이라도 대단히 감사합니다!

+0

'register' 액션에서'params' 해시를 확인 했습니까? – vee

+0

그래, 괜찮 았어. 필자는 마침내 실제로'register' 액션에서 변수를 쓰레기 처리하고 최종 형식에서': value => params [: user] [: name] 및 params [: user] [: email]'로 작업하게되었습니다. 왜 그것이 다른 방법으로 작동하지 않았는지 모르겠지만 이것이 동일한 일을한다고 생각합니다. 그래도 고마워. – Kasperi

답변

0

컨트롤러가 너무 작습니까? 당신이 좀 있지만 결국 그것을 알아 냈다

def register 
    @name  = params[:user][:name] 
    @email = params[:user][:email] 
    @password = params[:user][:password] 
end 

하지가 있어야한다.

관련 문제