我觉得这应该真的很简单,但我完全卡住了!
在一个表单中,我可能有一个如下字段:
<%= 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 %>
我隐藏了大部分字段以防止编辑,但仍需要查看一些字段,以便将它们保留为文本字段。我试图禁用它们,但这会停止任何更改(特别是文件上传)的工作。
简而言之,我更愿意将以上大部分内容显示为文本而不是表单字段。