1
我正在構建一個嵌套的模型表單,它將允許客戶端同時註冊(客戶端模型)並創建一個登錄名(用戶模型)。但是,對於新註冊人,我想設置user.role_code(對於管理員來說稱爲「A」),但我一直在爲此付出努力。從數據模型的角度來看,客戶端有多個用戶,因爲註冊後,客戶端可以訪問應用程序來添加其他用戶。從這個角度來看,我不認爲我可以在模型中默認user_role,因爲對於添加的用戶來說,他們的role_code可能是不同的。我想在控制器中設置默認值。Rails - 爲嵌套模型屬性設置默認值
此外,表單提交後,用戶作爲一個數組發送,所以我想確保只有一個用戶數組對象在註冊時發送(明顯是爲了漏洞的原因)。
這裏是我的代碼
#client registration form new.html
<%= form_for @client do |client_form| %>
.....
<%= client_form.fields_for :users do |user_form| %>
<div class="field">
<%= user_form.label :first_name %>
<%= user_form.text_field :first_name %>
</div>
.....
#client Controller
def create
logger.info params.inspect
@client = Client.new(params[:client])
if @client.save
......
#client model
class Client < ActiveRecord::Base
attr_accessible :business_name, ... #and more
attr_accessible :users_attributes
has_many :users
has_many :items
accepts_nested_attributes_for :users, allow_destroy: true
#logger.info params.inspect
"...users_attributes"=>{"0"=>{"first_name"=>..."