Как создать внешний URL-адрес как часть вызова replace_html в Ruby on Rails? - PullRequest
1 голос
/ 21 мая 2010

По сути, я пытаюсь отобразить внешний веб-сайт (адрес которого хранится в базе данных) на странице в моем приложении Ruby on Rails.

В моей модели «search» есть поле «search», содержащее веб-адреса в форме «www.example.com» или «example.com». Я пытаюсь использовать вызов link_to_function с replace_html для замены div 'maincontent' тегом iframe, используя значение 'search' в текущем экземпляре в качестве src для тега.

Моя текущая попытка - очень уродливый код ниже. Я был бы благодарен за любой из следующих типов ответов:

  1. Как мне переписать строку конкатенации для правильной работы?
  2. Как получить тот же эффект (заменив текущее содержимое элемента div "mainContent" тегом iframe другим методом?

(мне пришлось изменить код, прежде чем удалить <> из iframe)

link_to_function h(search.title) do |page|

page.replace_html 'mainContent', 'iframe id="embedded" src="http://" + #{search.search} />' 

end 

1 Ответ

1 голос
/ 22 мая 2010
  1. В рубине, #{variable} интерполируется, если оно содержится в двойных кавычках.

    "<iframe id='embedded' src='http://#{search.search}' />"
    # Will expand to:
    "<iframe id='embedded' src='http://www.example.com' />"
    
  2. Что сейчас происходит? Вы получаете пустой iframe?

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