В основном моя проблема заключается в том, что при попытке использовать вложенные представления в моем приложении rails мне нужно хранить как общих пользователей, так и администраторов для страницы. Оба содержат ту же информацию, что мне просто нужно знать, кто есть кто. У меня есть модель команды:Неизвестный атрибут: admin_id с вложенными представлениями и отношениями has_many
class Team < ActiveRecord::Base
attr_accessible :auth_token, :team_name, :template
has_many :events, :dependent => :destroy
has_many :users
has_many :admins, :class_name => "User", :foreign_key => 'admin_id'
accepts_nested_attributes_for :admins
end
И моя схема для таблицы «Команды» содержит поле admin_id. Я не понимаю, почему я получаю эту ошибку. Я пробовал довольно много поисковых запросов и поисков через форумы, и, несмотря на то, что нашел некоторые подобные проблемы, я не мог найти все те же комбинации проблем, которые у меня были.
Заранее спасибо.
EDIT Модель Пользователь:
class User < ActiveRecord::Base
require 'digest/sha1'
attr_accessor :pre_pass
belongs_to :team
attr_accessible :name, :player
attr_protected :password
validates :name, :presence => true
validates :pre_pass, :presence => true
before_save :encrypt_pass
after_save :clear_pre_pass
end
Команды/новый Просмотр
<%= form_for(@team) do |f| %>
<% if @team.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@team.errors.count, "error") %> prohibited this team from being saved:</h2>
<ul>
<% @team.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :team_name %><br />
<%= f.text_field :team_name %>
</div>
<div class="field">
<%= f.label :template %><br />
<%= f.number_field :template %>
</div>
<div class="field">
<%= f.label :auth_token %><br />
<%= f.number_field :auth_token %>
</div>
<p>
<%= f.fields_for :admins do |builder| %>
<%= render "admin_fields", :f => builder %>
<% end %>
</p>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
Ошибка ActiveRecord :: UnknownAttributeError в TeamsController # новый
unknown attribute: user_id
приложение/Contr ollers/teams_controller.rb: 28: в `нового»
TeamController # нового
def new
@team = Team.new
@team.admins.build
respond_to do |format|
format.html # new.html.erb
format.json { render json: @team }
end
end
Можете ли вы показать модель пользователя и вид где вы хотите добавить вложенную форму? –
Стол _users_ содержит столбец «admin_id»? – shweta
@shweta Таблица пользователей не содержит столбец admin_id, так как я хочу, чтобы admin_id просто был другим user_id с другим именем. – Stephen