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

  • PamtheBlamofficial

    PamtheBlamof

    31 Aralık 2010
  • RaquelGamesBR

    RaquelGamesB

    20 HAZİRAN 2009
  • Virtual Riot

    Virtual Riot

    19 Mayıs 2011