有一个<代码>User模型,has_one :profile
,而profile/code>模型则有一个
e
单项表因先令栏。 我想要一个用户在签署时设定<代码> 类型代码>,而我会遇到麻烦。
i m 在我的简历控制员中试图这样做:
def create
@profile = Profile.find(params[:id])
type = params[:user][:profile_attributes][:type]
if type && ["Artist","Listener"].include?(type)
@profile.update_attribute(:type,type)
end
end
页: 1 用户代码>新观点:
<%= form_for(setup_user(@user)) do |f| %>
...
<%= f.fields_for :profile do |t| %>
<div class ="field">
<%= t.label :type, "Are you an artist or listener?" %><br />
<p> Artist: <%= t.radio_button :type, "Artist" %></p>
<p> Listener: <%= t.radio_button :type, "Listener" %></p>
</div>
<% end %>
...
<% end %>
以及我的申请助手:
def setup_user(user)
user.tap do |u|
u.build_profile if u.profile.nil?
end
end
在创建用户时,我看不到<条码>类型条码>。 仍然有<代码>nil的违约情况。 为什么如此,我如何做到这一点? 我赞赏一个守则实例。
最新资料:
这是我的<编码>中的相关守则。 用户代码>模式:
has_one :profile
accepts_nested_attributes_for :profile
before_create :build_profile
附录 2. 我有这个错误:WARNING: Can t Mass-assign Protect属性: