Ruby on rails Rails form_for不起任何作用

Ruby on rails Rails form_for不起任何作用,ruby-on-rails,forms,Ruby On Rails,Forms,我对Ruby 2.0和rails 4.0有一个问题 我有一个表单,用于创建一个新的“项目”条目,该条目包含标题、描述和状态。 形式本身曾经是一种魅力,直到我做了些什么,我不知道是什么。问题是,表单呈现得非常完美,但在向其添加有效值并按下submit按钮后,它什么也不做。如果我在输入值和提交之前刷新表单,url将更改为: 项目/新?utf8=✓&真实性令牌=Xh6ZGV2vvth1RzhBk3g5zonms%2Fdq3yzaJtzxDU%2FFBiM%3D和项目%5bttitle%5D=项目+标题

我对Ruby 2.0和rails 4.0有一个问题

我有一个表单,用于创建一个新的“项目”条目,该条目包含标题、描述和状态。 形式本身曾经是一种魅力,直到我做了些什么,我不知道是什么。问题是,表单呈现得非常完美,但在向其添加有效值并按下submit按钮后,它什么也不做。如果我在输入值和提交之前刷新表单,url将更改为:

项目/新?utf8=✓&真实性令牌=Xh6ZGV2vvth1RzhBk3g5zonms%2Fdq3yzaJtzxDU%2FFBiM%3D和项目%5bttitle%5D=项目+标题和项目%5Bdescription%5D=说明和项目%5bdstatus%5D=正在进行和提交=提交

奇怪的是,如果我在同一个文件中的第一个表单之后添加另一个完全相同的表单,那么第二个表单可以完美地工作

My projects new.html.erb

<h1>Create a new project</h1>
<div class="row">
  <div class="col-md-5">
    <%= form_for @project do |f| %>
        <%= f.label :title %>
      <%= f.text_field :title %>
      <%= f.label :description %>
      <%= f.text_field :description %>
      <%= f.label :status %>
      <%= f.select :status, [['Ongoing', 'Ongoing'],['Suspended','Suspended'],['Finished','Finished']] %>
      <%= f.submit "Submit" %>
    <% end %>
  </div>
</div>
正如我所说的,它以前工作没有问题。 我也尝试过禁用JS,但仍然不起作用。 如果你有任何问题的想法,请告诉我。多谢各位

编辑:

从new.HTML.erb生成的HTML

<div class="container">

      <h1>Create a new project</h1>
<div class="row">
  <div class="col-md-5">
    <form accept-charset="UTF-8" action="/projects" class="new_project" id="new_project" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="Xh6ZGV2vvth1RzhBk3g5zonms/dq3yzaJtzxDU/FBiM=" /></div>
      <label for="project_title">Title</label>
      <input id="project_title" name="project[title]" type="text" />
      <label for="project_description">Description</label>
      <input id="project_description" name="project[description]" type="text" />
      <label for="project_status">Status</label>
      <select id="project_status" name="project[status]"><option value="Ongoing">Ongoing</option>
<option value="Suspended">Suspended</option>
<option value="Finished">Finished</option></select>
      <input name="commit" type="submit" value="Submit" />
</form>  </div>
</div>

    </div>

我相信这不是来自rails,可能是浏览器的扩展,比如开发工具,或者是web服务器的配置

  • 尝试使用其他浏览器访问表单,最好是没有扩展名或扩展名很少的浏览器
  • 如果它不起作用,请使用firebug,如果您在提交后从帖子重定向到GET请求,请查看Net选项卡
  • 使用另一个Web服务器,切换到webrick、thin、puma或任何其他服务器,然后检查

  • 您可以粘贴由第一个代码段生成的HTML吗?您的请求正在get request中发送数据。您可以将表单标签生成的HTML粘贴到此处吗?添加了由new.HTML.erb生成的HTML,在提交表单后发布您的
    日志
    。您可以共享
    项目
    路线
    路线.rb
    。出于好奇,问题的根源是什么?长话短说:使用您的建议在rails之外查找问题,所以尝试了不同的浏览器,web服务器仍然会出现相同的错误,所以将db更改为sqlite,并将其更改为mysql,在这两个版本上,一切都很好,而不是移回postgresql,问题就消失了。奇怪的事情发生了。奇怪的事情确实发生了:)
    <div class="container">
    
          <h1>Create a new project</h1>
    <div class="row">
      <div class="col-md-5">
        <form accept-charset="UTF-8" action="/projects" class="new_project" id="new_project" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="Xh6ZGV2vvth1RzhBk3g5zonms/dq3yzaJtzxDU/FBiM=" /></div>
          <label for="project_title">Title</label>
          <input id="project_title" name="project[title]" type="text" />
          <label for="project_description">Description</label>
          <input id="project_description" name="project[description]" type="text" />
          <label for="project_status">Status</label>
          <select id="project_status" name="project[status]"><option value="Ongoing">Ongoing</option>
    <option value="Suspended">Suspended</option>
    <option value="Finished">Finished</option></select>
          <input name="commit" type="submit" value="Submit" />
    </form>  </div>
    </div>
    
        </div>
    
    Started GET "/projects/new?utf8=%E2%9C%93&authenticity_token=Xh6ZGV2vvth1RzhBk3g5zonms%2Fdq3yzaJtzxDU%2FFBiM%3D&project%5Btitle%5D=Project+title&project%5Bdescription%5D=description+of+the+project&project%5Bstatus%5D=Ongoing&commit=Submit" for 127.0.0.1 at 2014-05-17 20:44:39 +0100
    Processing by ProjectsController#new as HTML
      Parameters: {"utf8"=>"✓", "authenticity_token"=>"Xh6ZGV2vvth1RzhBk3g5zonms/dq3yzaJtzxDU/FBiM=", "project"=>{"title"=>"Project title", "description"=>"description of the project", "status"=>"Ongoing"}, "commit"=>"Submit"}
      Rendered projects/new.html.erb within layouts/application (2.3ms)
      Rendered layouts/_header.html.erb (0.2ms)
      Rendered shared/_flash_messages.html.erb (0.1ms)
    Completed 200 OK in 12ms (Views: 10.9ms | ActiveRecord: 0.0ms)
    
    
    Started GET "/assets/custom.css?body=1" for 127.0.0.1 at 2014-05-17 20:44:39 +0100
    
    
    Started GET "/assets/rails_bootstrap_forms.css?body=1" for 127.0.0.1 at 2014-05-17 20:44:39 +0100
    
    
    Started GET "/assets/project.css?body=1" for 127.0.0.1 at 2014-05-17 20:44:39 +0100
    
    
    Started GET "/assets/bootstrap.css?body=1" for 127.0.0.1 at 2014-05-17 20:44:39 +0100
    
    
    Started GET "/assets/application.css?body=1" for 127.0.0.1 at 2014-05-17 20:44:39 +0100
    
    
    Started GET "/assets/bootstrap.min.css?body=1" for 127.0.0.1 at 2014-05-17 20:44:39 +0100
    
    
    Started GET "/assets/projects.css?body=1" for 127.0.0.1 at 2014-05-17 20:44:39 +0100
    
    
    Started GET "/assets/jquery.js?body=1" for 127.0.0.1 at 2014-05-17 20:44:39 +0100
    
    
    Started GET "/assets/jquery.turbolinks.js?body=1" for 127.0.0.1 at 2014-05-17 20:44:39 +0100
    
    
    Started GET "/assets/jquery_ujs.js?body=1" for 127.0.0.1 at 2014-05-17 20:44:39 +0100
    
    
    Started GET "/assets/bootstrap.js?body=1" for 127.0.0.1 at 2014-05-17 20:44:39 +0100
    
    
    Started GET "/assets/bootstrap.min.js?body=1" for 127.0.0.1 at 2014-05-17 20:44:39 +0100
    
    
    Started GET "/assets/project.js?body=1" for 127.0.0.1 at 2014-05-17 20:44:39 +0100
    
    
    Started GET "/assets/projects.js?body=1" for 127.0.0.1 at 2014-05-17 20:44:39 +0100
    
    
    Started GET "/assets/turbolinks.js?body=1" for 127.0.0.1 at 2014-05-17 20:44:39 +0100
    
    
    Started GET "/assets/application.js?body=1" for 127.0.0.1 at 2014-05-17 20:44:39 +0100