Bonjour,
le titre n'est pas trop explicite, mais j'ai pas trouvé mieux
Je suis novice en Rails et j'essaie d'afficher un champs qui se trouve
dans une relation.
Schema de la DB
ActiveRecord::Schema.define(:version => 20100130221503) do
create_table "accounts", :force => true do |t|
t.text "account_number"
t.text "bank"
t.text "owner"
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "depenses", :force => true do |t|
t.date "datedepense"
t.decimal "credit"
t.decimal "debit"
t.integer "account_id"
t.integer "type_id"
t.datetime "created_at"
t.datetime "updated_at"
t.string "description"
t.string "code"
end
create_table "types", :force => true do |t|
t.string "name"
t.datetime "created_at"
t.datetime "updated_at"
end
end
Model depense
class Depense < ActiveRecord::Base
belongs_to :account
validates_presence_of :account
belongs_to :type
end
Model type
class Type < ActiveRecord::Base
has_many :depense
end
views index.html.erb
<h1>Listing depenses</h1>
<table>
<tr>
<th>Datedepense</th>
<th>Credit</th>
<th>Debit</th>
<th>Id account</th>
<th>Id type</th>
<th>description</th>
<th>code</th>
</tr>
<% @depenses.each do |depense| %>
<tr>
<td><%=h depense.datedepense %></td>
<td><%=h depense.credit %></td>
<td><%=h depense.debit %></td>
<td><%=h depense.account_id %></td>
<td><%=h depense.type_id %></td>
<td><%=h depense.description %></td>
<td><%=h depense.code %></td>
<td><%= link_to 'Show', depense %></td>
<td><%= link_to 'Edit', edit_depense_path(depense) %></td>
<td><%= link_to 'Destroy', depense, :confirm => 'Are you sure?',
:method => :delete %></td>
</tr>
<% end %>
</table>
<br />
<%= link_to 'New depense', new_depense_path %>
dans la vue a la place de depense.type_id, j'aimerais
depense.types.name. ca ne marche pas et après plusieurs essaie de
définition de variable dans le controlleur, je sèche
--
Posted via http://www.ruby-forum.com/.
--
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse
[email protected]