Tôi có một cấu trúc mô hình lồng nhau trông như thế này:Biểu mẫu lồng nhau không hiển thị!
resources :users, :path => '/' do
resources :accounts do
resources :characters
end
end
Tôi đang cố gắng để có được những trang accounts#new
để hiển thị cả các hình thức nhưng đối với một số lý do duy nhất dưới dạng các tài khoản sẽ được hiển thị (screenshot).
Đây là git: https://github.com/imjp/d2shed
account.rb
class Account < ActiveRecord::Base
attr_accessible :account_name, :realm
accepts_nested_attributes_for :characters
belongs_to :user
has_many :characters, :dependent => :destroy
validates :account_name, :presence => 'true',
:length => { :in => 4..20 },
:uniqueness => 'true'
validates_presence_of :realm
validates_format_of :account_name, :with => /^[A-Za-z\d_]+$/
end
accounts_controller.rb
def new
@user = User.find(params[:user_id])
@account = Account.new
@account.characters.build
end
_form.html.erb
<%= form_for([@user, @account]) do |f| %>
<div class="field">
<%= f.label :account_name %><br />
<%= f.text_field :account_name %>
</div>
<div class="field">
<%= f.radio_button(:realm, "USWest") %>
<%= f.label(:realm, "USWest") %>
<%= f.radio_button(:realm, "USEast") %>
<%= f.label(:realm, "USEast") %>
<%= f.radio_button(:realm, "Europe") %>
<%= f.label(:realm, "Europe") %>
<%= f.radio_button(:realm, "Asia") %>
<%= f.label(:realm, "Asia") %>
</div>
<%= f.fields_for :character do |character_form| %>
<div class="field">
Name: <%= character_form.text_field :name %>
</div>
<% end %>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
EDIT: Mã này hoạt động bây giờ!
Xin cảm ơn bạn đã trả lời! Tôi đã sửa đổi mã nhưng nó vẫn không hoạt động:/Tôi đã chỉnh sửa câu hỏi của mình để cập nhật mã. Bạn có thể xem xét những gì khác có thể bị thiếu? – imjp
@imjp: Nếu bạn làm rõ những gì "vẫn không hoạt động" thì có lẽ có. –
@imjp: Thực ra tôi nhận thấy bạn đã mắc lỗi trong biểu mẫu của bạn. Đoạn giữa trong câu trả lời của tôi sửa lỗi đó. –