これは本当に本当にシンプルであるべきだと思いますが、私は完全に立ち往生しています!
フォームには、次のようなフィールドがある場合があります。
<%= f.text_field :name, :class => "text" %>
編集時に、これは作成時に送信された値を引き戻します。それで問題ありません。しかし、特定のフィールドが編集されないようにしたいです。フィールドを無効にしたり非表示にしたりできることはわかっていますが、値を取得して表示し、他の方法で使用できるようにしたいと考えています。それらにアクセスするにはどうすればよいですか?
この場合、私は次のようなことを試しました:
<%= f.track.name %>
<%= track.name %>
<%= @track.name %>
しかし、上記のどれも機能しません!
アイデアはありますか?
編集:(これにはネストされたフォームを使用しています)
<%= form_for(@release, :html => { :multipart => true }) do |f| %>
<h3>Upload Tracks for <%= @release.title %></h3>
<%= f.fields_for :tracks do |builder| %>
<%= render 'upload_track_fields', :f => builder %>
<% end %>
<%= f.submit "Upload Tracks", :class => "submit" %>
<% end %>
そして、レンダリングされる upload_track_fields:
<%= f.text_field :position, :class => "text" %>
<%= f.text_field :name, :class => "text" %>
<%= f.text_field :isrc, :class => "text" %>
<%= f.text_field :version, :class => "text" %>
<%= f.file_field :track, :class => "text" %>
<%= f.hidden_field :primary_genre_id %>
<%= f.hidden_field :secondary_genre_id %>
<%= f.hidden_field :alt_primary_genre %>
<%= f.hidden_field :alt_secondary_genre %>
<%= f.hidden_field :asset_tier %>
<%= f.hidden_field :preview_start %>
<%= f.hidden_field :parental_advisory %>
<%= f.hidden_field :available_separately %>
<%= f.hidden_field :_destroy %>
編集できないようにほとんどのフィールドを非表示にしましたが、一部のフィールドを表示する必要があるため、テキスト フィールドのままにしています。それらを無効にしようとしましたが、変更 (特にファイルのアップロード) が機能しなくなりました。
要するに、上記のほとんどをフォーム フィールドではなくテキストとして表示することをお勧めします。