2011-10-04 5 views
4

및 고안 1.4.7, 내가 (레이크 노선에 표시된대로) http://localhost:3000/users/sign_up를 방문하여 업데이트, 나는 "# 새로운이 고안/등록에 하면 ArgumentError"를 얻을 레일에하면 ArgumentError를 던져 :고안 추출 소스 라인 3 레일 3.1 응용 프로그램에서 3.1

<%= form_for(resource_name, resource, :url => registration_path(resource_name)) do |f| %>. 

이 해결책은 무엇입니까? 미리 감사드립니다.

Deals::Application.routes.draw do 
    devise_for :users 
    root :to => "home#index" 
end 

답변

0

너무 많은 인수가 있습니다. form_for는이 같은 하나 개의 인수 (자원), 필요 :

@registration = Registration.new 
form_for @registration 

을 그리고 당신은 필요한 경우 선택적 :url에 전달할 수 있습니다.

0

시도해보십시오.

<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %> 
0
난 당신이 rails generate devise:views을 실행하고 앱에 보석에서 복사 작업의 기본 템플릿 내에서 볼 때/뷰/등록/new.html.erb, form_for가 함께 고안에 의해 호출되는/고안 확인할 수 있습니다

인수 : 당신이 보석 뷰를 복사에 대한 참조를 원하는 경우

form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| 

, the views in the repo을 확인하십시오.

그러나 독자가 자신의 컨트롤러에서 가입 양식을 사용하려고 시도하면 from the Devise controller의 일부를 다시 만들어서 get the form to render으로 만들 가능성이 있습니다. 사용자 클래스를 호출했다고 가정 할 때 User :

def resource_name 
    :user 
end 

def resource 
    @resource ||= User.new 
end 

def devise_mapping 
    @devise_mapping ||= Devise.mappings[:user] 
end