也许这是错误的做事方式 - 如果你拥有它们,我会接受任何更好的建议!
我们有一个简单的订购系统 - 我们的订单有很多里程碑,每个里程碑都属于一个订单。
顺便说一句,每个里程碑也分配了用户,但我不想在两者之间建立关系,因为我的用户也拥有订单......
在我的里程碑表格中,我有以下内容:
<%= semantic_form_for([@order, @milestone]) do |f| %>
.....
<div class="field">
<%= f.label :milestone_user %><br />
<%= f.input :milestone_user, :as => :radio, :collection => User.find(:all, :order => "name ASC") %>
</div>
....
<%= f.submit %>
<% end %>
这一切都很精彩,我可以看到我的用户呈现为单选按钮。
问题在于,当我保存时,我留下的是用户ID而不是名称。
如何将其传输到名称?
谢谢!
答案 0 :(得分:0)
如果您的模型中有正确的关联,则以下情况应该有效(昨天只在View模板中执行)
place.cplace.name
其中,在我的模特中:
class Place < ActiveRecord::Base
attr_accessible :name, :cplace_id, :cmoney_id, :copen_id, :description
belongs_to :user
belongs_to :cplace
...
end
class Cplace < ActiveRecord::Base
attr_accessible :name, :description
has_many :places
...
end
即使我在Place模型中的cplace(类别地点)字段命名为cplace_id,您也可以通过
来拯救名称或任何其他字段place.cplace.name
其中place是包含Place ... instance ...
的实例变量希望它有所帮助,并且编码愉快!