2014-09-02 4 views
3

Devits and Pundit과 (과) Rails App composer으로 새 앱을 만들었습니다. 작곡가는 새로운 사용자 (devise/registrations/new.html.erb)를 만들 수있는 양식을 만들어서 다른 페이지에 넣을 수 있도록 부분을 만들고 싶습니다. 난 부분에 이것을 넣고 다른 페이지에 렌더링하려고하면 양식은 내가다시 사용하기 위해 railapps로 만든 Devise 새 사용자 양식 만들기

undefined local variable or method `resource 

을 얻을

<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :role => 'form'}) do |f| %> 
    <h3>Sign up</h3> 
    <%= devise_error_messages! %> 
    <div class="form-group"> 
     <%= f.label :email %> 
     <%= f.email_field :email, :autofocus => true, required: true, class: 'form-control' %> 
    </div> 
    <div class="form-group"> 
     <%= f.label :password %> 
     <%= f.password_field :password, class: 'form-control' %> 
    </div> 
    <div class="form-group"> 
     <%= f.label :password_confirmation %> 
     <%= f.password_field :password_confirmation, class: 'form-control' %> 
    </div>ate_field :date_of_birth, class: 'form-control' %> 
    </div> 
    <%= f.submit 'Sign up', :class => 'button right' %> 
    <% end %> 

이며 내 컨트롤러에서 나는 아무것도 정의하지 않았기 때문에 그것은 분명히입니다. 문제는 내가 컨트롤러를 찾을 수 없거나 무엇을 resource 다른 컨트롤러에 있어야하므로 내가 이것을 다시 사용할 수 있습니다.

답변

1

당신이 here

자원에 위치해 찾고있는 리소스 방법은 당신이 고안 사용하고있는 실제 자원의 이름이 인스턴스 변수에 의해 정의 된 것으로 보인다. 당신이 users 자원 고안 사용하는 경우

그래서, 당신은 당신이 그 부분 렌더링 할 컨트롤러 User.new으로 자원을 정의하고, 그래서이보기에 사용할 수 있습니다 helper_method로 표시, 아니면 그냥 직선을 정의해야 돕는 사람.

또는 리소스 정의 및 기타 유용한 방법이 이미 포함 된 DeviseController을 상속 할 수 있습니다.