如何在咖啡脚本中使用Rails助手?

时间:2014-11-06 01:37:08

标签: jquery ruby-on-rails ruby-on-rails-4 coffeescript jquery-file-upload

在我的视图中,我将打开一个简单的新用户页面:

<% @users.each do |user| %>
  <tr>
    <td><%= link_to 'Show', user %></td>
    <td><%= link_to 'Edit', edit_user_path(user) %></td>
    <td><%= link_to 'Destroy', user, method: :delete, data: { confirm: 'Are you sure?' } %></td>
  </tr>
<% end %>

我怎样才能在咖啡脚本中做类似的事情?我有以下情况。用户上传了几个文件,在上传完所有文件后,他应该被重定向到他的个人文件库。这是咖啡脚本:

jQuery ->
  $('#new_update').fileupload
    dataType: "script"
    add: (e, data) ->
      types = /(\.|\/)(gif|jpe?g|png)$/i
      file = data.files[0]
      if types.test(file.type) || types.test(file.name)
        data.context = $(tmpl("template-upload", file))
        $('#new_update').append(data.context)
      else
        alert("#{file.name} is not a gif, jpeg, or png image file")

      $("#submit_button").on 'click', ->
        data.submit()

    progress: (e, data) ->
      if data.context
        progress = parseInt(data.loaded / data.total * 100, 10)
        data.context.find('.bar').css('width', progress + '%')

    stop: (e, data) ->
      /* I need to redirect him here */

上传所有文件后stop被触发,我需要将用户重定向到他的个人页面。我怎样才能做到这一点?我知道我可以将他重定向到这样的主页:

window.location "/"

问题是如何将@user从视图转换为coffeescript。谢谢。

1 个答案:

答案 0 :(得分:2)

首先添加数据属性     

    #new_update{:"date-target" => @user.id}
    

然后呢     

    window.location  "/users/" + $("#new_update").attr("data-target")