如何在布局/标题中调用来自不同模型的部分内容

时间:2010-08-10 06:17:05

标签: ruby-on-rails

在Rails中如何在任何给定的布局中调用另一个模型的表单?我有一个登录表单,我想放在每个页面的标题中。我在其中创建了一个部分内容:

<% form_for(@user_session) do |f| %>

  <p>
    <%= f.label :username %><br />
    <%= f.text_field :username, :class=>'' %>
  </p>
  <p>
    <%= f.label :password %><br />
    <%= f.password_field :password %>
  </p>

    <%= f.check_box :remember_me %><%= f.label :remember_me %><br />
  <br />

  <p>
    <%= f.submit 'Login' %>
  </p>
<% end %>

然后尝试在我的标题中调用该部分,但这似乎不起作用。

<%= render :partial => 'user_sessions/login' %>

我收到“为nil调用id”错误

4 个答案:

答案 0 :(得分:1)

<%= render :partial=> 'user_sessions/login' :layout => false%>

使用此

我认为你用'_login.rhtml'保存你的部分吗?

答案 1 :(得分:0)

为什么不只是<%= render @user_session %>

答案 2 :(得分:0)

@user_session变量是否在所有控制器操作中设置?

答案 3 :(得分:0)

在railsforum得到了jmesserer的答案,只需要改变:

<% form_for(@user_session) do |f| %>

<% form_for UserSession.new do |f| %>