Я не уверен, правильно ли я структурирую свое приложение (я изучаю Rails уже 2 месяца), но я создаю довольно глубоко вложенное приложение, которое выглядит так:
учетные записи пользователя has_many> учетные записи has_many персонажей> символы has_many items
Так что это 4 уровня глубины (по крайней мере, это план).
Я сейчас нахожусь в символах и у меняпроблема при создании формы, которая выдает эту ошибку: undefined method 'characters' for nil:NilClass
( снимок экрана ).
Вот проект на github: https://github.com/imjp/d2shed
characters_controller.rb
class CharactersController < ApplicationController
def create
@user = User.find(params[:user_id])
@account = Account.find(params[:account_id])
@character = @account.characters.create(params[:character])
redirect_to root_url
end
end
символов. rb
class Character < ActiveRecord::Base
attr_accessible :name, :type
belongs_to :account
end
_form.html.erb
<%= form_for([@account, @account.characters.build]) do |f| %>
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name %>
</div>
<div class="field">
<%= f.radio_button(:type, "SC") %>
<%= f.label(:type, "SC") %>
<%= f.radio_button(:type, "HC") %>
<%= f.label(:type, "HC") %>
<%= f.radio_button(:type, "SCL") %>
<%= f.label(:type, "SCL") %>
<%= f.radio_button(:type, "HCL") %>
<%= f.label(:type, "HCL") %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>