16-09-2011, 06:37 PM
(Modification du message : 16-09-2011, 06:46 PM par Sephi-Chan.)
on va dire que tu as un modèle Club et un modèle Stade avec une relation entre les 2.
le joueur a besoin de renseigner plusieurs choses concernant son club (son nom, sa ville, les couleurs, l'emblème...) et son stade (juste le nom dans un premier temps), j'ai donc voulu regrouper le formulaire de création dans un seul, celui du club. Donc le code (en version light) :
voila, y a surement du mauvais, mais je suis là pour apprendre
le joueur a besoin de renseigner plusieurs choses concernant son club (son nom, sa ville, les couleurs, l'emblème...) et son stade (juste le nom dans un premier temps), j'ai donc voulu regrouper le formulaire de création dans un seul, celui du club. Donc le code (en version light) :
#Le modèle
class Club < ActiveRecord::Base
belongs_to tade
belongs_to :user
attr_accessor tade_name
validates_presence_of :name, :manager_name, :city_name, tade_name, :color1, :color2
validates tade_name, :length => { :in => 5..30 }
end
#Le controller
class ClubsController < ApplicationController
def new
@team = Team.new
end
def create
params[:team][:user_id] = current_user.id
@team = Team.new params[:team]
@team.stade_id = Stade.create(:name => params[:team][tade_name])
if @team.save
redirect_to team_path
else
render "new"
end
end
end
#La vue
<%= form_for @team do |f| %>
<p><%= f.label :name %>
<%= f.text_field :name %>
<% if !@team.errors[:name].empty? %> <span class='error_message'><ul>
<% @team.errors[:name].each do |msg| %>
<li><%= msg %></li>
<% end %></ul></span>
<% end %>
</p>
...
<p><%= f.label tade_name %>
<%= f.text_field tade_name %>
<% if !@team.errors[tade_name].empty? %> <span class='error_message'><ul>
<% @team.errors[tade_name].each do |msg| %>
<li><%= msg %></li>
<% end %></ul></span>
<% end %>
</p>
<label for="color1">Color 1</label>
<input id="team_color1" name="team[color1]" type="text" value="#FFFFFF" /></p>
<%= f.submit "Create" %>
<% end %>
voila, y a surement du mauvais, mais je suis là pour apprendre