Forms: wyświetlenie wartości obiektu w label'u

właśnie nigdzie nie mam dostępu… mam dostęp do opinion, ale opinion ma listę marks… i musiałbym wiedzieć w której iteracji marks jestem, aby coś dalej kombinować… niestety nie mam też dostępu do indeksu… ogólnie bieda z nędzą… czas wrócić do jee

jedyny pomysł jaki przychodzi mi do głowy to zrobić text_input (jako disabled) i odpowiednio go ostylować w css’ie…

Ale co marks to pole typu select i ktoś je wybiera i na podstawie tego ma coś tam się zmieniać w ocenach? Bo tylko w takim przypadku widzę jakiś problem, mały bo mały bo wystarczy ajax i obserwator na selecta w polu który coś tam puści w tle.

a tak? Tak robisz iteracje po czymkolwiek, to masz dostęp do wszystkiego co jest w jej wnętrzu? gdzie masz problem?

nie, marks to lista obiektów typu Mark…
coś takiego
<% f.fields_for :marks do |builder| %>
iteruje się po wszystkich mark i dla każdego generuje wszystko co tam zostało opisane w ciele.

FYI
mark posiada pola criterium_id, opinon_id, note i criterium_name

<% f.fields_for :marks, @marks do |builder| %>

Jakoś tak sprawdź w dokumentacji, ale można przekazać kolekcję i inne obiekty

udało mi się rozwiązać problem, szkoda tylko że rails nie wspiera w bardzo prosty sposób tak podstawowych rzeczy. Dzięki za pomoc

[code=ruby]<% form_remote_for [fotos, o = Opinion.new_with_marks(fotos) ], :html => { :id => ‘new_opinion_form’ } do |f| %>

<%= f.error_messages %>

<%= f.label :comment %>
<%= f.text_field :comment %>

<% index = 0 %>
<% f.fields_for :marks do |builder| %>

<%= builder.hidden_field :criterium_id %> <%= builder.label :note, o.marks[index].criterium.name %> <%= builder.text_field :note %>

<% index += 1 %> <% end %>

<%= f.submit 'Create' %>

<% end %>[/code]

Jesteś pewny, że to nie działa?

[code=ruby] <% f.fields_for :marks do |builder| %>

<%= builder.hidden_field :criterium_id %> <%= builder.label :note, builder.object.criterium_name %> <%= builder.text_field :note %>

<% end %>[/code]

@zgryw: wielkie dzięki, właśnie takiego rozwiązania szukałem… a jednak rails dało radę :slight_smile: