Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 表单不创建新条目_Ruby On Rails_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails 表单不创建新条目

Ruby on rails 表单不创建新条目,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,我正在尝试创建一个表单以添加一个传送者: 我有app/views/transporters/new.html.erb,它调用一个模板app/views/_form.html.erb,如下所示: <%= form_for(@transporter) do |f| %> <% if @transporter.errors.any? %> <div id="error_explanation"> <h2><%= plural

我正在尝试创建一个表单以添加一个传送者: 我有app/views/transporters/new.html.erb,它调用一个模板app/views/_form.html.erb,如下所示:

<%= form_for(@transporter) do |f| %>
  <% if @transporter.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(@transporter.errors.count, "error") %> prohibited this transporter from being saved:</h2>

      <ul>
      <% @transporter.errors.full_messages.each do |msg| %>
        <li><%= msg %></li>
      <% end %>
      </ul>
    </div>
  <% end %>

  <div class="field">
    <%= f.label :name %><br>
    <%= f.text_field :name %>
  </div>
  <div class="field">
    <%= f.label :phone %><br>
    <%= f.text_field :phone %>
  </div>
  <div class="field">
    <%= f.label :id_number %><br>
    <%= f.text_field :id_number %>
  </div>
  <div class="actions">
    <%= f.submit 'Add transporter', class: 'btn btn-success' %>
  </div>
<% end %>
<%= link_to 'Back to all transporters', transporters_path, class: "btn" %>
</div>
</div>
当我单击Add transporter时,表单不会移动到任何地方。我怎么了

更新: 这是我的路由文件:

Cowsnhills::Application.routes.draw do
  resources :transporters

  resources :deliveries

  root 'welcome#index'
end
当我单击“提交”时,表单将重新加载,但条目不会显示在我的transporters索引上,下面是代码: 运输机控制器方法:

  def index
    @transporters = Transporter.all
  end
运输商指数:

<h1>Listing transporters</h1>

<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>Phone</th>
      <th>Id</th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
    </tr>
  </thead>

  <tbody>
    <% @transporters.each do |transporter| %>
      <tr>
        <td><%= transporter.name %></td>
        <td><%= transporter.phone %></td>
        <td><%= transporter.id %></td>
        <td><%= f.link_to_add "Add a delivery", :deliveries %></td>
        <td><%= link_to 'Show transporter details', transporter %></td>
        <td><%= link_to 'Edit transporter details', edit_transporter_path(transporter) %></td>
        <td><%= link_to 'Delete transporter', transporter, method: :delete, data: { confirm: 'Are you sure?' } %></td>
      </tr>
    <% end %>
  </tbody>
</table>

<br>

<%= link_to 'New Transporter', new_transporter_path, class: "btn" %>
列出传输程序
名称
电话
身份证件

还有一家运输公司有很多货物,而且一家货运公司属于运输协会,正在使用

 @transporter = Transporter.new(params[:transporter])


检查我的最后一条评论以保存它。

您只需在创建操作中使用表单中的参数创建一个新对象,但不保存它。
将@transporter.save添加到您的创建操作中。

您所说的“它哪儿也去不了”是什么意思?你有一个404,并且呈现了相同的页面?你可以发布你的运输资源路线吗?我刚刚在本地安装了你的应用程序,我创建了一个新的运输工具,没有任何问题。您是否检查了日志以了解发生了什么?OP使用了强参数。@billy是的,我已经看到了,但使用params[:transporter]检查使字段作为属性_可访问以测试是否有任何错误并没有什么害处。表单似乎正常。请检查您是否有html5启用浏览器,如果您没有该字段的正确数据,浏览器将自动无法提交您的表单type@SabyasachiGhoshRails 4中不再有可访问的属性。OP在创建操作write transporter=transporter.new(transporter_参数)中使用Rails 4.0,然后使用transporter.save和check
 @transporter = Transporter.new(params[:transporter])
@transporter = Transporter.new(params["transporter"])