Изображение в соответствующей записи не будет отображаться на странице указателя - PullRequest
2 голосов
/ 11 мая 2011

У меня есть 2 таблицы, один из venuetypes и один из mapicons.Тип venuetype принадлежит mapicon.

У каждого mapicon есть имя и изображение, загруженное с помощью скрепки.

Когда я просматриваю запись типа venuetype, у меня отображается соответствующий mapicon с использованием этого бита кода:

<%= image_tag @venuetype.mapicon.mapicon.url(:mapicon) %>

У меня есть другая таблица мест, где каждое место принадлежит типу venuetype.

Однако, когда я просматриваю запись места на странице индекса, mapicon не отображает изображение, оно просто показывает как пустой элемент div ссвойства, установленные в классе css.

Это код, который я использую, чтобы попытаться отобразить mapicon:

<div id="venue_map_icon_<%= venue.id %>" style="position:absolute;" <%= image_tag (venue.venuetype.mapicon.mapicon.url(:mapicon)), :class => "mapicon" %></div>

Я надеюсь, что мой вопрос имеет смысл, я постараюсь уточнить, если нужно, спасибоза любую помощь, она очень ценится!

редактировать

модель Mapicon

class Mapicon < ActiveRecord::Base
  has_many :venuetypes
  has_attached_file :mapicon,
    :styles => {
      :mapicon => "20x20" }
end

Venuetype модель

class Venuetype < ActiveRecord::Base
  has_many :venues
  belongs_to :mapicon
  has_attached_file :icon,
    :styles => {
      :thumb=> "100x100>",
      :small  => "150x150>",
      :medium => "300x300>",
      :large =>   "400x400>" },
      :default_url => '/images/noimage.png'
end

модель объекта

class Venue < ActiveRecord::Base
  attr_accessible :name, :addressline1, :addressline2, :addressline3, :addressline4, :postcode, :phonenumber, :about, :icontoppx, :iconleftpx, :area_id, :venuetype_id, :lat, :long, :venuephotos_attributes
  belongs_to :area
  belongs_to :venuetype
  has_many :reviews
  has_many :venuephotos

  accepts_nested_attributes_for :venuephotos, :allow_destroy => true

  scope :with_type, lambda { |types|
    types.present? ? where(:venuetype_id => types) : scoped }

  scope :with_area, lambda { |areas|
    areas.present? ? where(:area_id => areas) : scoped }

  def to_param
    "#{id}-#{name.gsub(/\W/, '-').downcase}"
  end
end

1 Ответ

1 голос
/ 26 мая 2011

GAH! Я думаю, что вижу это, если это так, мы будем пинать себя ...

Ваши теги просмотра перемешаны:

<<code>div id="venue_map_icon_<%= venue.id %>" style="position:absolute;" <%= image_tag (venue.venuetype.mapicon.mapicon.url(:mapicon)), :class => "mapicon" %></div>

В первом элементе div отсутствует закрывающее ">", а также закрывающие скобки в вызове image_tag не на месте. Должен быть после "mapicon", как таковой:

<div id="venue_map_icon_<%= venue.id %>" style="position:absolute;">
<%= image_tag(venue.venuetype.mapicon.mapicon.url(:mapicon), :class => "mapicon") %>
</div>

Если не предполагается, что класс "mapicon" находится в div, в этом случае он будет выглядеть следующим образом:

<div id="venue_map_icon_<%= venue.id %>" style="position:absolute;" class="mapicon">
<%= image_tag(venue.venuetype.mapicon.mapicon.url(:mapicon)) %>
</div>

Я думаю, что однострочный горизонтальный экран прокручивался в голове и мешал мне это видеть. Когда я увидел ваш обходной путь в форме абзаца, он выскочил прямо на меня.

Надеюсь, что это так. :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...