你能将javascript注入ERB文件吗?

时间:2014-03-10 21:23:10

标签: javascript ruby sinatra erb

我正在研究一个ruby sinatra应用程序,并想知道是否有可能在我的routes.rb文件中的一个我的erb文件的末尾注入一些javascript。我以前见过一些红宝石宝石,但是却找不到办法。

任何帮助都将不胜感激。

Alex

2 个答案:

答案 0 :(得分:0)

您可以在.erb文件中插入javascript,如下所示:

  <script>
    $(document).ready(function() {
      alert('Hello world!');
    });
  </script>

答案 1 :(得分:0)

您可以查看如何使用rails中的content_for并在项目中使用它:http://apidock.com/rails/ActionView/Helpers/CaptureHelper/content_for

我认为你可以抓住这个方法的来源:

  def content_for(name, content = nil, options = {}, &block)
    if content || block_given?
      if block_given?
        options = content if content
        content = capture(&block)
      end
      if content
        options[:flush] ? @view_flow.set(name, content) : @view_flow.append(name, content)
      end
      nil
    else
      @view_flow.get(name).presence
    end
  end

然后像这样使用它:

您认为

<%= content_for :my_awesome_js %>

.rb文件中的

content_for :my_awesome_js do
  "<script>
    $(document).ready(function() {
      alert('Hello world!');
    });
  </script>"
end