0

我的应用程序有一个用户仪表板,其中列出了用户创建的规则。每个规则都可以添加到“规则集”。对于每个规则,我想显示一个按钮,单击该按钮会加载一个允许用户将该规则添加到规则集中的表单。

我的视图中有以下代码来显示每个规则:

<% @rules.each do |rule| %>
  <div class="rule-wrapper">

    <div class="rule-content row">
      <div class="span6">
        <strong>Rule:</strong> <%= rule.description %>
      </div>
      <div class="span2">           
        <div class="add-to-ruleset-form">

        </div>
      </div>
    </div>

  ......

我的规则控制器的相关部分如下:

class RulesController < ApplicationController
  before_filter :authenticate_user!

  def add_rule_to_ruleset
    @ruleset = Ruleset.find(params[:ruleset_id])
    @rule = Rule.find(params[:rule_id])

    @ruleset.rule << @rule

  end

  ....

最后,这是我的 dashboard.js.erb 文件的样子:

$('.add-to-ruleset').click(function(e){
  e.preventDefault();
  $('.add-to-ruleset-form').html('<%= escape_javascript(link_to render :partial =>   "add_to_ruleset_form", :locals => {:rule => rule}) %>')
});

我希望在单击按钮(“添加到规则集”)时呈现部分内容。我尝试在我的 js.erb 文件中使用“escape_javascript”帮助程序,但它没有传递“规则”变量 corrent。我也尝试过使用 jQuery 的 load(),但我不知道如何使用 jQuery 将“规则”实例变量传递给部分。还有其他方法吗?

4

0 回答 0