0
遇到問題使用HAS_ONE導軌3 HAS_ONE單選按鈕
模型
Class User
has_one :role
accepts_nested_attributes_for :role
Class Role
attr_accessible :name
belongs_to :user
控制器
@user = build_role
表格單選按鈕
<div class="field">
<% Role.offset(1).all.each do |role_fields| %>
<%= radio_button_tag "user[role_fields_id][]", role_fields.id, @user.role_id == role_fields.id %>
<%= role_fields.name %>
<% end %>
</div>
獲取的形式創建單選按鈕e rror
undefined method `role_id' for #<User id: nil, name: nil, created_at: nil, updated_at: nil>
我確定我在控制器中設置了關係,爲什麼這不起作用?
您的'用戶'模型是否有'role_id'列? – Zajn
爲什麼我的用戶模型需要role_id列? @Zajn – jmorrissette
我假設你爲每個用戶存儲一個'role_id',但是Geoff在他的回答中說的是有道理的。看到'@ user.role_id'讓我覺得你試圖訪問該User實例上的'role_id'屬性,因爲根據你的錯誤,對於User實例沒有'role_id'方法。 – Zajn