提交操作在Rails 4中不起作用

时间:2014-09-24 22:31:50

标签: ruby html5 ruby-on-rails-4 web

当我提交表单时,新数据不会保存在数据库中,因此我看不到它们,但是当我创建新数据时,如welcome = Welcome.new和welcome.title =&# 34;你的是"通过rails console他们工作,我只能看到我在控制台中做的事情而不是应用程序。似乎提交底部并没有保存任何数据。

new.html.erb

    <h1> Submite </h1>

  <form action="new" method="post" class="form-horizontal" role ="form">
   <div class="form-group">
      <label for"kind"> kind </label>
      <input type="string" id="kind" name="kind" class="form-control">
  </div>

    <br>
    <div class="form-group">
      <label for"title"> title </label>
      <input type="string" id="title" name="title" class="form-control">
    </div>
    <br>
    <div class="form-group">
      <label for"text">"text </label>
      <input type="text" id="text" name="text" class="form-control">
      <br>
  </div>
      <br>
  </div>
      <input type="submit" value="Submit" class="btn btn-primary">
  <a href="/welcomes/index">List </a>
  </div>

index.html.erb

        <% @welcomes.each do |welcome| %>
            <li><%= welcome.title %>  </li>
          <% end %>

welcomes_controller

    def index
    @welcomes = Welcome.all
    end

    def new
         @welcome = Welcome.new
    end

    def create
         @welcome = Welcome.new(user_params)    
        if @welcome.save
         flash.keep[:notice]="Successfuly created"
               render :index
        else
        render :new
        #  format.json { render json: @user.errors, status: :unprocessable_entity }
        end

       end

    private

     def user_params
        params.require(:welcome).permit(:kind, :title, :text)
      end

1 个答案:

答案 0 :(得分:1)

您的表单未提交到正确的路线。请改用表单构建器:

<%= form_for @welcome do |f| %>
   <%= f.label :kind %>
   <%= f.text_field :kind %>

   <%= f.submit  %>
<% end %>

这会将表单提交的正确路径放入HTML