Учебник Rails - Следуйте форме, появляющейся как сбежавший HTML

StackOverflow https://stackoverflow.com/questions/6338022

Вопрос

Похоже, как мой последний вопрос: Проблемы с сбежавшим HTML в файле .js.erb

Я пытаюсь сделать следующую форму в учебном пособии Rails, но меня снова сбежали HTML. Есть ли подобные трюки?

$ ("#< %=" follow_form# <@tag.id} " %>"). html ("< %= ascaving_javascript (render ('Tags/follow',: tag => @Tag)) %>") ;

я получил

<form accept-charset=UTF-8 action=/tag_user_relationships/76 class=edit_tag_user_relationship data-remote=true id=edit_tag_user_relationship_76 method=post><div style=margin:0;padding:0;display:inline><input name=utf8 type=hidden value=&#x2713; /><input name=_method type=hidden value=delete /><input name=authenticity_token type=hidden value=goedvibRxKtDRiAufp1ThWJP0rRBU2cMH2xp7qodKws= />div> <div class=actions><input id=tag_user_relationship_submit name=commit type=submit value=Unfollow />div>form>

Когда я просто хочу получить другую кнопку отправки.

Код для представления:

<%= form_for current_user.tagUserRelationships.build(:tag_id => tag.id),
             :remote => true do |f| %>
  <div><%= f.hidden_field :tag_id %></div>
  <div class="actions"><%= f.submit "Follow" %></div>
<% end %>

Я продолжил расследование. Если я добавлю это вместо этого:

$ ("#< %=" follow_form# <@tag.id} " %>"). html ("< %= ascaving_javascript (render ('Tags/follow',: tag => @Tag)). html_safe %> ");

Я получаю подходящую форму для появления, но:

Div> кнопка div> форма>

Вместо просто

кнопка

Это было полезно?

Решение

Попробуйте следующее:

$("#<%= "follow_form#{@tag.id}" %>").html("<%= escape_javascript("#{render 'tags/follow'}").html_safe %>");

С ключевым отличием является то, что ваш рендеринговый вызов находится внутри "#{}". Без этого частичный снят все однократные кавычки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top