2016-11-26 13 views
1

Rubyでの基本的なログインと登録を試行しています 問題:new.htmlの登録ボタンをクリックするとGETリクエストが届きます。アプリケーションが投稿リクエストの代わりにnew.htmlからのリクエストを受け取ります

<div class="container"> 
<div class="row"> 

<div class="login"> 

<%= form_tag("/user/login",:method => :post) do %> 
<%= label_tag(:EmailId) %> 
<%= text_field_tag(:email, params[:email]) %></br> 
<%= label_tag(:password) %> 
<%= password_field_tag(:password, params[:password]) %></br> 
<%= submit_tag("Log In",class: "btn btn-primary") %> 
<%= submit_tag("Register",class: "btn btn-primary") %> 

<% end %> 
</div> 


</div> 
</div> 
を開始しながら、そのHTMLのページのソースに方法=「POST」を参照してくださいは
私は new.html.erb下にロードされ

<form> 
<%= form_for(@user) do |f| %> 
<%= f.label :user_name %> 
<%= f.text_field :user_name %></br> 
<%= f.label :email_id %> 
<%= f.text_field :email_id %></br> 
<%= f.label :password %> 
<%= f.password_field :password %></br> 
<%= f.label :college %> 
<%= f.text_field :college %></br> 
<%= f.label :major %> 
<%= f.text_field :major %></br> 
<%= f.label :current_job %> 
<%= f.text_field :current_job %></br> 
<%= f.submit("Create Account",class: "btn btn-primary") %> 
<% end %> 
</form> 

マイindex.html.erbコードを自分のコードを掲載しています

私のコントローラのコード

class UsersController < ApplicationController 
    def index 
    @user = User.all 
    end 



    def login 
    print "In Sign in controller" 
    @user = User.new 
    if params[:commit] == 'Register' 
     print "inside Register class" 
     redirect_to '/users/new' 
    else 
    @user = User.find(params[:email_id]) 
    if @user and user.authenticate(params[:password]) 
     sessions[:userId] = @user.user_id 
    end 
    end 
    end 


    def new 
    puts "****Inside New Method******" 
    @user = User.new 
    end 

    def create 
    puts "****Inside create Method******" 
    end 
private 
def user_params 
end 

end 

マイルートコードメソッドを作成してヒットする必要があります私の理解POSTリクエストあたりとして

Rails.application.routes.draw do 
    root 'users#index' 
    resources :users 
    post '/users/login' => 'users#login' 

が、取得/ユーザーの方法が当たっています。これに関して私を助けてください。

答えて

2

あなたは別のフォームタグの中にフォームタグを持っています。フォームの上部にあるタグを削除します。 <%= form_for(@user) %>は、正しいフォームを作成するために必要なすべてを処理します。

+0

正常に動作します。ご協力いただきありがとうございます。 – Ajaykumar

3

new.html.erbに入れ子フォームがあるのはなぜですか?最初に削除するformタグ

<form> 
    <%= form_for(@user) do |f| %> 
+0

ありがとう、その働き。 – Ajaykumar

関連する問題