我有一個Profile
模型:當文件存在時,如何更改simple_form中文件字段的名稱?
has_many :transcripts, dependent: :destroy
accepts_nested_attributes_for :transcripts, allow_destroy: true
所以我app/views/profiles/_form.html.erb
,我有以下幾點:
<%= f.simple_fields_for :transcripts do |transcript| %>
<%= render 'transcript_fields', f: transcript %>
<% end %>
而且app/views/profiles/_transcript_fields.html.erb
看起來是這樣的:
<%= f.file_field :attachment, class: 'col-lg-4 form-control' %>
所以我想做的就是在_transcript_fields
部分,profile
已經存在transcripts
,我希望它顯示一個文件字段,該文件字段具有附加文件的名稱 - 這樣,如果他們想要更改附加的文件,則只需單擊上傳即可,並且它將更新該文本記錄。
我有實際的更新操作現在的工作,但發生的事情是,它只是顯示這樣的字段:
其中頂部file_field
是現有的文件,而下面的反映可以添加的新字段。
作爲答案之一說,它不能做到。它是一個安全問題。你將不得不尋找另一種方式來滿足你的要求。 – DickieBoy
如果您要使用像carrierwave這樣的東西來處理上傳,它將允許您執行一些操作,因爲它可以保留文件名等。這或者可以重寫。不幸的是,當你發現你不希望你的瀏覽器能夠超越某個特定點來改變文件系統上的文件,所以這是一個安全問題。話雖如此......一旦你在控制器方法中有上傳的文件二進制數據。在堅持它之前,你可以在這一點上任意指定它。因此,一旦數據被保存,您就可以在Rails的一側進行操作。 – engineerDave