문제

Rails, Mongomapper 및 Devise에서 현재 GIT 버전으로 실행되는 Basic Devise 예제를 얻으려고 할 때 다음과 같은 오류가 나타납니다.

undefined method `to_key' for #<Admin:0x23dee04> 

내 실제 출처는 다음과 같습니다.

4: = form_for @admin, :url => admins_path do |f| 
5:   - field_set_tag 'Update my email' do 
6:     %p= f.text_field :email 
7:     %p= error_message_on @admin, :email 

@admin은 현재 로그인 한 사용자 ( @admin = current_admin) @admin = admin.first를 사용할 때 동일한 오류가 발생합니다.

이것이 Mongomapper 문제인지 확실하지 않습니다. Rails3 관련 일 수도 있습니다 ... 어떤 포인터에 감사드립니다 ...

내가 ERB 동등한 것을 사용하는 경우에도 마찬가지입니다.

<%= form_for @admin, :url => { :action => "create" } do |fr| %>
<%= fr.text_field :sign_in_count %> 
<% end %>

전체 오류 출력은 다음과 같습니다. http://pastie.org/871850

도움이 되었습니까?

해결책

여기에 Mongomapper에 패치를 제출했습니다.

http://github.com/fredwu/mongomapper/commit/6e5e531312ef98c30e33286a1f80dd000468ed07

다른 팁

자, 여기에 해결책이 있습니다.

1 모델에서 수정

def to_key
  self.keys.to_a
end

2보기에서 수정하십시오

<%= form_for :admin, @admin, :url => { :action => "create" } do |f| %>
    <%= f.text_field :sign_in_count %>
<% end %>

둘 다 작동합니다. 그래도 이것이 레일이나 몽고 메이프 문제인지는 분명하지 않지만 다른 사람에게는 해결 방법이 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top