2

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

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

为了实现我的目标,我应该/如何/应该做什么?有一些“通用”的方法或做法吗?

4

1 回答 1

0

这是一个简单的例子。看看这是否有帮助,以及 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>

要从您的视图页面调用部分:

<h1>My Page</h1>
<%= render :partial => "shared/dialog",
    :locals => { :title => :"Hello", :message => "World" } %>
于 2012-08-23T04:59:52.240 回答