2014-09-24 72 views
0

当我提交表单时,新数据不保存在数据库中,因此我看不到它们,但是当我创建一个新数据如welcome = Welcome.new和welcome .title =“你的”是由他们的轨道控制台工作,我只能看到我在控制台中做的事情,而不是通过应用程序。它似乎提交底部不保存任何数据。提交行为不工作在Rails 4

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

你的形式不提交给右路。使用表单生成器来代替:

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

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

这将会把表单提交正确的路线到HTML