Почему эта форма Ruby on Rails / Paperclip не отображается? - PullRequest
0 голосов
/ 19 июня 2011

Я начинаю работать с Paperclip и не могу что-то выяснить: почему эта форма не отображается?

в sources_controller.rb

class SourcesController < ApplicationController

  def new
    @source = Source.new
    @title = "New Source"
  end

end

в new.html.erb

New Source Form

<%= debug(@source) %>

<% form_for(@source, :html => { :multipart => true }) do |f| %>
  <div class="field">
    <%= f.label :name %><br />
    <%= f.text_field :name %>
  </div>
  <div class="field">
    <%= f.label :attachment %><br />
    <%= f.file_field :attachment %>
  </div>
  <div class="field">
    <%= f.submit 'Create' %>
  </div>
<% end %>

Что отображается в браузере:

New Source Form

--- !ruby/object:Source 
aggregation_cache: {}

association_cache: {}

attributes: 
  attachment_file_name: 
  name: 
  attachment_file_size: 
  attachment_content_type: 
  created_at: 
  parent_asset_id: 
  updated_at: 
  is_directory: 
  id: 
  user_id: 
  attachment_updated_at: 
  access_token: 
attributes_cache: 
  created_at: 
  updated_at: 
  attachment_updated_at: 
changed_attributes: {}

destroyed: false
marked_for_destruction: false
new_record: true
previously_changed: {}

readonly: false

(Когда отладки нет, отображается только «Форма нового источника».

Ответы [ 2 ]

0 голосов
/ 19 июня 2011

Это не ошибка, так как форма - это то, что вы действительно хотите отобразить. Рад, что вы все выяснили сами; -)

0 голосов
/ 19 июня 2011

Ух ты, я не могу поверить, что это происходит.

Строка <% form_for (@source,: html => {: multipart => true}) do | f | %> должно быть <% = form_for (@source,: html => {: multipart => true}) do | f | %> (со знаком равенства).

Из-за этой ошибки мне никогда не приходилось разбираться.

Почему RoR не дает мне предупреждение или что-то ?! Может ли кто-нибудь дать мне несколько советов, чтобы это не повторилось?

...