将javascript'this'发送到rails'cre​​ate.js.erb'

时间:2013-10-21 18:17:42

标签: jquery ruby-on-rails ajax

我正在尝试使用remote true向控制器执行ajax提交,控制器将运行创建操作,然后在ajax成功时执行一些javascript以删除该行。

这看起来很简单,但导轨很难。

我的设置以这样结束:

FORM

= form_tag modifications_url, class: "inline", remote: true do |f|
  = hidden_field_tag :id, modification.model.id
  = submit_button "Reject", class: 'btn btn-danger'

Modifications_Controller

class ModificationsController < NestedController
  belongs_to :app_group, :app, :organization
  respond_to :html, :js

  def index
    @modifications = ModificationDecorator.decorate(get_modifications).group_by(&:what_was_modified)
  end

  def create
    @modification = Modification.find(params[:id])
    authorize!(:approve, @modification)
    if params[:resolution] == 'accept' 
      result = @modification.accept(current_user, params[:reason])
    elsif params[:resolution] == 'reject' 
      result = @modification.reject(current_user, params[:reason])
    end
  end

现在 - 根据我正在阅读的文档,通过将.js.erb文件放在修改视图文件夹中,其名称与action(create)相同,它应该在成功的ajax调用之后运行该代码。

所以在我的create.js.erb文件中我尝试了一个警告

点击提交按钮时运行的

alert('testing')! YAY!

但是,当我更换console.log($(this))的警报时,我得到了一些像window这样的疯狂结果以及其他不引用css类的内容。

我在这里做错了吗?提前谢谢。

0 个答案:

没有答案