在rails中你可以这样做:
<% name = @user.name %>
<script>
var name = <%= name%>;
alert(name);
//prints the name of the user
</script>
Run Code Online (Sandbox Code Playgroud)
你可以反过来这样做
<% name = @user.name %>
<script>
var name = "John";
<% name %> = name;
</script>
<% @user.name = name %>
<%= name %>
<!-- prints the name of the user, in this case "John" -->
Run Code Online (Sandbox Code Playgroud)
显然这不起作用,但是出于示例的目的
关键是,你能否将javascript变量的值传递给rails中的ruby变量
我在索引(pieces_path)中有这个
<%= form_tag (upload_pieces_path) do%>
<%= file_field_tag 'data' %>
<%= submit_tag %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
而这在片段控制器中
def upload
file_data = params[:data]
File.read(file_data, 'r') do |file|
file.each do |line|
## .... ##
end
end
redirect_to pieces_path
end
Run Code Online (Sandbox Code Playgroud)
最后的路线
match '/upload_pieces', to: 'pieces#upload', via: 'post'
Run Code Online (Sandbox Code Playgroud)
想法是在视图中读取文件,然后对他做一些事情,而不是将其保存在数据库中,然后返回上一页.
但是当我测试它时,我上传文件时收到"没有这样的文件或目录"错误.
有什么想法吗?我做错了什么?
这个想法是,在一个表格中,在一个td里面放一条线在这样的中间,像这样:
1 http://oi61.tinypic.com/nzem2h.jpg
您可以在其中写入并且该行保留在那里,如"行背景",但在td内
有任何想法吗?