我正在爲sign_in/sign_out程序使用設計gem。在不同的控制器中設計窗體
我生成的視圖文件從色器件,使用rails g devise views
我看到有其中載有sign_in形式有一項/會話/ new.html.erb文件。
我創建了另一個文件devise/sessions/_form.html.erb,並在new.html.erb文件中做了<%= render 'form' %>
,並且結果非常好。現在
,我想包括來自不同控制器的這種形式。所以在一個名爲'main'的控制器中(特別是在視圖頁面內)'mains/index.html.erb'我包含了<%= render 'devise/sessions/form' %>
文件。似乎包含工作正常,但我得到以下錯誤。
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:
看來的form_for(資源,...)部分引起的問題(如果我原來的色器件sign_in頁...我該如何解決在軌方式這個問題呢?
上工作正常我個人更喜歡使用「渲染」功能,包括形式,而不是內聯編寫HTML代碼。
我必須註明「主」控制器內的東西(資源)?
我會感謝您的幫助,謝謝
有沒有解決方法...?截至11月16日我還沒有真正得到使用渲染的解決方案..雖然如果我只是鍵入內聯代碼,它看起來工作得很好.. – user482594 2010-11-16 15:13:18
你找到了解決方案嗎? – neebz 2011-06-29 13:15:45
是的,我選擇瞭解決我的問題的答案。這比我想象的更簡單。 – user482594 2011-10-17 18:04:01