у меня есть проблемы с моей формой, который содержит объект с нескольких Когда я иду на моей странице «новый» для создания нового team_member, у меня есть эта ошибка:Ruby On Rails - Вложенные формы - неизвестный атрибут
неизвестного атрибут 'team_member_id' для TeamMembersGame.
модели/team_member.rb
class TeamMember < ActiveRecord::Base
mount_uploader :avatar, AvatarUploader
has_many :team_members_games
accepts_nested_attributes_for :team_members_games
has_many :team_members_weapons
has_many :team_members_champions
end
модели/team_member_game.rb
class TeamMembersGame < ActiveRecord::Base
belongs_to :team_member
end
контроллеры/администратор/team_members_controller.rb
class Admin::TeamMembersController < Admin::DashboardController
def new
@member = TeamMember.new
@member.team_members_games.build
end
def create
@member = TeamMember.new(member_params)
if @member.save
redirect_to edit_admin_team_member_path(@member.id), notice: 'Le membre a bien été creer'
else
render 'new'
end
end
def edit
@member = TeamMember.find(params[:id])
@member_game = @member.team_members_games
#@member = TeamMember.joins(:TeamMembersChampion, :TeamMembersWeapon, :TeamMembersGame)
end
def update
@member = TeamMember.find(params[:id])
if @member.update_attributes(member_params)
# Handle a successful update.
redirect_to edit_admin_team_member_path(@member.id), notice: 'Le membre a bien été modifier'
else
render 'edit'
end
end
def destroy
TeamMember.destroy(params[:id])
redirect_to admin_team_members_path, notice: 'Le membre a bien ete supprimer'
end
private
def member_params
params.require(:team_member).permit(:name, :id_steam, :color, :avatar, :avatar_color, :description, :rank_cs, :rank_lol, :role_cs, :role_lol, team_members_games: [ :team_members_id, :name_game])
end
def member_games
params.require(:team_members_games).permit(:team_members_id, :name_game)
end
end
просмотр/админ/new.html.erb
<%= form_for(@member, url: admin_team_members_path, html: { method: :post }, id: 'new_news') do |f| %>
<%= @member.inspect %>
<%= @member_games.inspect %>
<div class="row">
<div class="col s12">
<% @member.errors.full_messages.each do |msg| %>
<%= msg %>
<% end %>
</div>
</div>
<div class="row">
<div class="col s12 m6">
<div class="field input-field">
<%= f.label :name, "Nom" %>
<%= f.text_field :name, autofocus: true, :class => "" %>
</div>
</div>
</div>
<div class="row">
<div class="col s12">
<p class="bold">
Jeux :
</p>
</div>
<div class="col s12 m6">
<%= f.fields_for :team_members_games do |team_members_games_form| %>
<div class="field input-field">
<%= team_members_games_form.check_box :name_game, {:class => "filled-in", :id => "team_members_game_name_game"}, true, false %>
<%= team_members_games_form.label :name_game, "game" %>
</div>
<% end %>
</div>
</div>
<div class="row">
<div class="col s12">
<div class="btnlog actions">
<%= button_tag(type: 'submit', class: "btn") do %>
Publier <i class='material-icons right'>send</i>
<% end %>
</div>
</div>
</div>
<% end %>
спасибо!
В вашей 'member_params' и' member_games', я думаю, вы хотите использовать 'team_member_id' вместо' team_members_id'. – vee
Я не думаю, что это потому, что ошибка находится в «новом» и не переходит в member_parems или member_games. – Cle61