我一直在試圖弄清楚這幾個小時,我已經審查了所有關於SO的類似問題,但似乎沒有任何工作。Rails 3嵌套形式與設計字段不呈現
我有以下形式
註冊/ new.html.erb
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
<%= devise_error_messages! %>
<%= f.fields_for :user_roles do |builder| %>
<%= builder.hidden_field :role_id, :value => @role.id %>
<% end %>
我已重寫的註冊控制器,像這樣
class Users::RegistrationsController < Devise::RegistrationsController
prepend_before_filter :require_no_authentication, :only => [ :new, :create ]
layout "public"
def new
@user = User.new
@user.user_roles.build()
@role = Role.find_by_name("organiser")
super
end
視圖不呈現隱藏的表單,如果我刪除了f變量,那麼user_roles的字段被渲染。
我在新的動作中構建了user_roles的佔位符實例,但這似乎沒有任何區別。我已經設置了accepts_nested_attributes_for :user_roles
。
無論如何,這是驅使我分心,任何幫助將不勝感激。