javascript - 如何将 ruby​​ 代码附加到 html 元素

标签 javascript jquery ruby-on-rails ruby

我正在使用 ActionController::live 进行聊天. stream在我的 ChatsController 中推送帖子。

def stream
  response.headers['Content-Type'] = 'text/event-stream'
  start = Time.zone.now
  loop do
    Post.where('created_at > ?', start).each do |post|
    response.stream.write("event:push\n")
    response.stream.write("data:#{post.to_json}\n\n")
    start = post.created_at
    end
    sleep 2
  end
rescue IOError
ensure
  response.stream.close
end

使用 javascript,我用 <li> 包装了 gravatar 和这个 json并将其附加到 <ul> .然后,我想使用 gravatar_for我为 post 定义和呈现部分的方法模型。

你能教我如何将 ruby​​ 代码 (<%...%>) 附加到 html 元素 (

  • ) 吗?我试过 .append('<%...%>')有一次,没用。

  • 最佳答案

    如果您的 Controller 正在响应 javascript,您可以使用相应的 js.erb 文件渲染部分内容,如下所示:

    $('element').append('<%= escape_javascript(render partial: "post") %>'); 
    

    关于javascript - 如何将 ruby​​ 代码附加到 html 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28432589/

    相关文章:

    ruby-on-rails - define_method 如何使用在其外部初始化的变量

    ruby-on-rails - 使用 RESTful Controller 删除 Rails 中的多个对象?

    javascript - 如何将 CSS 添加到我的 `mailchimp` 弹出表单?

    javascript - 选中 div 而不是其中的文本

    javascript - 如何在 MySQL 查询中传递 Javascript 变量

    javascript - 找到最接近的输入和设置值

    ruby-on-rails - Neo4j gem - 查询不存在的关系

    javascript - 从 javascript 插入或更新融合表

    javascript - 我如何制作 Gridview 或 Listview

    javascript - 如何计算字符串长度以及如果长度大于 X 则删除 X 个字符 - JavaScript