我正在为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