如何在Rails Ajax期间传递一个变量?

时间:2016-03-15 05:19:04

标签: javascript ruby-on-rails ajax

我正在构建一个rails应用程序来导入和管理电子邮件。所以我创建了一个页面,可以上传excel文件并在真正导入之前进行预览。

def import
# ...
end

def preview
# showing emails using rails ajax
end

def confirm_import
# store emails into database
end

因为我需要让用户预览他们想要导入的内容,然后才能导入'导入'我运行ajax请求'预览'。

/* This is the import.html.erb */
<%= form_tag(preview_path, method: "post", remote: true) do %>
    <%= text_area_tag 'email-list' %>                   
    <%= submit_tag "Preview" %>
<% end %> 

但在此之后我无法将这些电子邮件作为参数[&#39;电子邮件&#39;]。我现在所做的是预览.js.erb&#39;我使用javascript将这些电子邮件存储在隐藏的HTML标记&#39; result_email_list&#39;中,然后将其发送到&#39; confirm_import&#39;。

/* in import.html.erb, after preview.js.erb is done */
<%= form_tag(confirm_import_path, method: "post") do %>
    <%= hidden_field_tag :result_email_list %>
    <%= submit_tag "Confirm" %>
<% end %>

还有更多的Rails方法吗?在HTML中存储数据似乎是一个非常糟糕的主意。

0 个答案:

没有答案