SORU
2 Kasım 2010, Salı


Farklı bir denetleyici içinde hazırlamak formu

Sign_in/sign_out işlemleri için gem önlemi kullanıyorum.

Hazırlamak manzarası dosyaları, rails g devise views kullanarak oluşturdum

/Seanslar/yeni bir vasiyet olduğunu gördüm.html.sign_in için bir form içeren erb dosyası.

Başka bir dosya/oturumları planlamak yarattım/_form.html.erb ve yeni içinde <%= render 'form' %> yaptı.html.dosya erb ve çok iyi çalıştı.

Şimdi, farklı denetleyicisi bu form eklemek istedim. Yani bir kumanda 'main', (özellikle sayfa içinde) 'şebeke/dizin.denir html.erb' <%= render 'devise/sessions/form' %> dosyası da ekledim. Eklenmesi iyi çalıştı gibi görünüyor, ama aşağıdaki hatayı alıyorum.

NameError in Mains#index

Showing /home/administrator/Ruby/site_v4_ruby/app/views/devise/sessions/_form.html.erb where line #1 raised:

undefined local variable or method `resource' for #<#<Class:0x007f1aa042d530>:0x007f1aa042b870>
Extracted source (around line #1):

1: <%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %>
2:   <p><%= f.label :email %><br />
3:   <%= f.text_field :email %></p>
4: 

Bu form_for görünüyor (,... kaynak) bölümü, soruna neden olan orijinal planı sign_in sayfa... Nasıl raylar bu sorunu bir şekilde çözebilir miyim? ben gayet iyi çalışıyor (hangi

Ben şahsen 'form işlevi eklemek, html kodları satır içi. yazılı işlemek yerine kullanmayı tercih

İçinde bir şey (kaynağı) belirtmeniz gerekiyor 'main' denetleyici?

Yardımın için teşekkürler. Teşekkür ederim.

CEVAP
18 HAZİRAN 2011, CUMARTESİ


Andres dediği gibi, formu Hazırlamak tarafından belirlenen yardımcıları aramaları ve sen olmayan bir Vasiyetle bir kumanda form Hazırlamak erişim mevcut değil.

Bunu çözmek için, altında formu görüntülemek istediğiniz kontrolör Yardımcısı sınıfa aşağıdaki yöntemi ekleyin. Alternatif olarak, sadece uygulama size yardımcı onları onları her yerde kullanılabilir yapmak için ekleyebilirsiniz.

  def resource_name
    :user
  end

  def resource
    @resource ||= User.new
  end

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

Kaynak: http://pupeno.com/blog/show-a-devise-log-in-form-in-another-page/

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bmarian22

    bmarian22

    22 Aralık 2007
  • Max Lee

    Max Lee

    18 AĞUSTOS 2006
  • TheDigiCraft

    TheDigiCraft

    25 NİSAN 2011