【问题标题】:Using content_for inside a partial with Devise在带有设计的部分内使用 content_for
【发布时间】:2012-02-25 20:23:22
【问题描述】:

我正在将设计添加到我的应用程序中。一切似乎都运行良好,但我正在努力将登录和注册页面放入我主页上的 jquery 容器中。我尝试直接将表单粘贴到他们的表单中,但是在调用设计使用其表单的资源时出现“未定义的方法”错误。

  <div class="widget">
    <div id="tab-container">
      <ul>
  <li><a href="#create">Create Account</a></li>
  <li><a href="#signin">Sign In </a></li></ul>
<div id="create">

<%= yield :signup %>
    </div>
<div id="signin" style="height: 105px;">
  <ul>
  <%= yield :signin %></ul>
</div>
    </div>
  </div>

<% content_for :document_ready do %>   
  $('#tab-container').easytabs(); 
 <% end %>
 </script>

我的注册内容

<h2>Sign up</h2>
  <% content_for :signup do %>

  <%= form_for(resource, :as => resource_name, :url => registration_path(resource_name))    
    do |f| %>
   <%= devise_error_messages! %>

  <div><%= f.label :email %><br />
  <%= f.email_field :email %></div>

  <div><%= f.label :username %><br />
    <%= f.text_field :username %></div>

    <div><%= f.label :password %><br />
    <%= f.password_field :password %></div>

  <div><%= f.label :password_confirmation %><br />
   <%= f.password_field :password_confirmation %></div>

  <div><%= f.submit "Sign up" %></div>
    <% end %>
   <% end %>

和我的登录内容

 <h2>Sign in</h2>
  <% content_for :signin do %>

   <%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do  
   |f| %>
 <div id="login_form">
 <div><%= f.label :email %><br />
  <%= f.email_field :email %></div>

 <div><%= f.label :password %><br />
 <%= f.password_field :password %></div>

<% if devise_mapping.rememberable? -%>
<div><%= f.check_box :remember_me %> <%= f.label :remember_me %></div>
 <% end -%>

  <div><%= f.submit "Sign in" %></div>
  </div>
<% end %>
<% end %>

在部分内容中使用 content_for 不是一个好主意吗?在调用选项卡容器之前是否未呈现产量?提前致谢!

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 devise jruby


    【解决方案1】:

    在这里找到答案Devise form within a different controller

    将此添加到您的应用程序助手中

     def resource_name
       :user
     end
    
     def resource
       @resource ||= User.new
     end
    
     def devise_mapping
       @devise_mapping ||= Devise.mappings[:user]
     end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-26
      • 2012-02-29
      • 1970-01-01
      • 2011-01-02
      • 2017-06-01
      • 1970-01-01
      • 2023-03-08
      相关资源
      最近更新 更多