javascript - 如何正确呈现使用 jQuery 插件的部分模板?

标签 javascript ruby-on-rails ruby ruby-on-rails-3 jquery-ui

我正在使用 Ruby on Rails 3.2.2 和 jquery-rails 2.0.2 gem(包括 jQuery UI 插件)。为了 DRY(不要重复自己)我的代码,我计划“提取”jQuery Dialog Widget在将以几乎相同的方式在我的应用程序中呈现的部分模板中;所以,我正在考虑通过在 :locals 中传递一些“复杂”代码(可能是 JavaScript 代码)来实现和呈现该模板。声明...但我在如何正确传递该代码方面遇到了一些麻烦。

具体来说,我想通过传递 :locals which "build"/that "populate" 一些 jQuery 对话框来呈现模板选项事件方法(有关更多信息,请参阅 jQuery UI Official Documentation),例如选项 title 或事件 close(注意:“传递”/“构建”/“填充”内容是 JavaScript 代码或 JavaScript 和 Ruby 代码).

我可以/应该做什么来实现我的目标?是否有一些“通用”的方法或实践?

最佳答案

这是一个简单的例子。看看这是否有帮助,以及 YMMV。

部分可以包含 JavaScript 和 Ruby 代码作为 ERB(或 HAML,或您想要使用的任何模板)。

我使用将共享部分放在目录 ./app/views/shared 中的约定。

示例文件 ./app/views/shared/_dialog.html.erb:

<!-- typical jQuery dialog box creator -->
<script>
  $(function() {
    $( "#dialog" ).dialog();
  });
</script>

<!-- typical dialog with Ruby ERB for title and message -->
<div id="dialog" title="<%= title %>">
  <p><%= message %></p>
</div>

从您的 View 页面调用局部:

<h1>My Page</h1>
<%= render :partial => "shared/dialog",
    :locals => { :title => :"Hello", :message => "World" } %>

关于javascript - 如何正确呈现使用 jQuery 插件的部分模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12083351/

相关文章:

ruby-on-rails - 时间不在 heroku 中更新

javascript - 用JavaScript过滤垃圾邮件的最佳方法是什么?

javascript - jQuery .each 被广泛应用

javascript - Map函数中的onClick,只针对一个元素执行

ruby-on-rails - Postgres 随机停止工作(Rails,PGSQL.5432)

java - 有趣的股票报价数据场景

javascript - 为什么更改姓氏时模型中的全名没有更新?

ruby-on-rails - Rails 服务器正在运行,但没有将我带到我的项目中

ruby-on-rails - 如何将 *args 与默认选项哈希合并?

ruby-on-rails - 是否有 ruby​​/rails gem 可以轻松确定日期范围