我有我的形式誰包含多個對象 當我去我的網頁上的「新」爲創造新的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