Rails 视图未渲染

发布于 2025-01-04 04:48:28 字数 698 浏览 0 评论 0原文

视图:

<% form_tag(:action => 'create', :multipart => true) do %>
  Select CSV File:
  <%= file_field_tag 'data' %>
  <br/><br/>
  <%= submit_tag 'Upload' %>
<% end %>

控制器:

class UploadController < ApplicationController
  def index
    respond_to do |format|
      format.html {render :layout => false}
    end
  end

  def create
    DataFile.save(params[:data])
    respond_to do |format|
      render :text => "File has been uploaded"
      # format.html { redirect_to :back }
    end
  end
end

当我去上传/新建时,没有任何内容呈现 - 只是一个空白页面。如果我将内容放在 form_tag 之外的视图中,那么它会正确呈现。

View:

<% form_tag(:action => 'create', :multipart => true) do %>
  Select CSV File:
  <%= file_field_tag 'data' %>
  <br/><br/>
  <%= submit_tag 'Upload' %>
<% end %>

Controller:

class UploadController < ApplicationController
  def index
    respond_to do |format|
      format.html {render :layout => false}
    end
  end

  def create
    DataFile.save(params[:data])
    respond_to do |format|
      render :text => "File has been uploaded"
      # format.html { redirect_to :back }
    end
  end
end

When I go to upload/new nothing is rendered - just a blank page. If I put content in the view outside of the form_tag then it is rendered correctly.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

心如荒岛 2025-01-11 04:48:28

在 Rails 3 的 ERB 中,使用等号输出块的内容:

<%= form_tag :stuff do |f| %>
  ...
<% end %>

In ERB in Rails 3, use an equals sign to output the contents of a block:

<%= form_tag :stuff do |f| %>
  ...
<% end %>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文