2015-08-08 81 views
0

我想提交一個表單來創建一個用戶,但我看到在Powershell中只發送一個GET請求,沒有發送POST請求,因此沒有任何東西在數據庫。我爲我的數據庫使用rails 4.1.8,ruby 2.0.0和sqlite 3。表單信息不保存到數據庫與軌道

這是我第一次開發東西,我非常感謝任何幫助!讓我知道如果我應該包括其他任何東西!

用戶頁面形式

<!DOCTYPE html> 
<html> 
<body> 
<div class="container"> 
    <form class="form-signin"> 
     <h2 class="form-signin-heading">Sign Up For An Account</h2> 
     <%=form_for(:user, :method => :post) do |f|%> 
     <%= f.text_field :first_name, :placeholder => 'First name' %> 
     <%= f.text_field :last_name, :placeholder => 'Last name' %> 
     <%= f.email_field :email, :placeholder => 'Email' %> 
     <%= f.password_field :password, :placeholder => 'Password' %> 
     <%=f.submit 'Sign Up', class: "btn btn-lg btn-primary btn-block"%> 
     <%end%> 
    </form> 
</div> 

</body> 

</html> 

用戶控制器

class UsersController < ApplicationController 
    def new 
    @user = User.new 
    end 
    def create 
    @user = User.new(user_params) 
    if @user.save 
     session[:user_id] = @user.id 
     redirect_to '/dashboard' 
    else 
     redirect_to '/signup' 
    end 
    end 
    private 
    def user_params 
    params.require(:user).permit(:first_name, :last_name, :email, :password) 
    end 
end 

路線

Rails.application.routes.draw do 
    root 'welcome#index' 
    resources :users 
    get '/signup' => 'users#new' 
    get '/login' => 'sessions#new' 
    post '/login' => 'sessions#create' 
    delete '/logout' => 'sessions#destroy' 
    get '/dashboard' => 'hours#new' 
end 
+0

對不起,不,我不要 –

回答

1

我覺得這裏的問題是,你有嵌套的另一種形式裏面的form_for幫手。 form_for helper會生成一個包含外部標籤的完整表單。

您可以找到相關文檔here

嘗試將其更改爲這樣:

<div class="form-signin"> 
 
     <h2 class="form-signin-heading">Sign Up For An Account</h2> 
 
     <%=form_for(:user, :method => :post) do |f|%> 
 
     <%= f.text_field :first_name, :placeholder => 'First name' %> 
 
     <%= f.text_field :last_name, :placeholder => 'Last name' %> 
 
     <%= f.email_field :email, :placeholder => 'Email' %> 
 
     <%= f.password_field :password, :placeholder => 'Password' %> 
 
     <%=f.submit 'Sign Up', class: "btn btn-lg btn-primary btn-block"%> 
 
     <%end%> 
 
    </div>

+0

非常感謝!篡改我的代碼後,我終於明白了。我刪除了多餘的表單,並改變了紅寶石形式的網址。 –

0

這裏是更新和工作用戶頁面

​​
0

鋁那麼你需要申報所有這些路線嗎?如果你叫'耙路線',他們不存在嗎?忽略這個,如果不抱歉哈。