【问题标题】:Rails tutorial - follow form showing up as escaped htmlRails 教程 - 按照显示为转义 html 的表单
【发布时间】:2011-09-14 08:18:40
【问题描述】:

与我上一个问题类似:Issues with escaped html in .js.erb file

我正在尝试在 rails 教程中呈现以下表单,但我再次转义了 html。有没有类似的技巧?

$("#").html(" @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 %>

我继续调查。如果我添加这个:

$("#").html(" @tag)).html_safe %>");

我得到了合适的表格显示,但是:

div> 按钮 div>表单>

不仅仅是

按钮

【问题讨论】:

  • 这个视图的代码是什么?
  • 如果你删除了逃逸 JS 是否有效?
  • 不,如果我留在引号中,它会导致引号配对不正确。如果我把它们拿出来,它也没有任何作用。然后我尝试了单引号......仍然没有运气:(

标签: ruby-on-rails ruby-on-rails-3 jquery railstutorial.org


【解决方案1】:

尝试以下方法:

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

主要区别在于您的渲染调用位于“#{}”内。没有它,部分将删除所有单引号。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-23
    • 2021-07-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多