【发布时间】:2011-10-08 01:05:22
【问题描述】:
我有两个模型:
class User < ActiveRecord::Base
acts_as_authentic
has_many :orders
end
和
class Order < ActiveRecord::Base
belongs_to :user
accepts_nested_attributes_for :user
end
想法是,如果用户已经登录,我只想为那个用户下订单,但如果他没有登录,那么我会要求他在下订单的同时注册。 这是订单表格
<%= form_for(@order) do |f| %>
<div class="field">
<%= f.label :quantity %><br />
<%= f.number_field :quantity %>
</div>
<% if current_user %>
<div class="field">
<%= current_user.email%>
</div>
<%else%>
<%= f.fields_for(:user) do |user_form| %>
<%= render "newuser_fields", :f => user_form %>
<% end %>
<% end %>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
新用户字段是:
<div class="field">
<%= f.label :email %><br />
<%= f.text_field :email %>
</div>
<div class="field">
<%= f.label :password %><br />
<%= f.password_field :password %>
</div>
<div class="field">
<%= f.label :password_confirmation %><br />
<%= f.password_field :password_confirmation %>
</div>
问题是它不会为用户显示字段!
有什么建议吗?
【问题讨论】:
标签: ruby-on-rails-3 activerecord nested-attributes