Ich habe einen Fehler, dassNoMethodError nicht definierte Methode
NoMethodError in Homecontroller # index nicht definierte Methode `id‘ für nil: NilClass.
@id = params[:id]
@email = [:email]
if @id == @user.id && @email == @user.email
render :text => "sucsess"
else
render :text => "fail"
Fehlermeldung hat mir gesagt, diese Codes waren strange.It sagt undefined method 'id'
, so ist @id
von wenn @id == @user.id
Methode scheinen? (Ich glaube, ich definieren @id
Variable)
Was soll ich beheben tun es?
home_controller
class HomeController < ApplicationController
def index
@id = params[:id]
@email = [:email]
if @id == @user.id && @email == @user.email
render :text => "成功"
else
render :text => "失敗"
end
end
def create
userData = UserData.new(create_params)
user = User.find(params[:id]).to_json
# エラー処理
unless userData.save
@error_message = [memo.errors.full_messages].compact
end
end
end
routes.rb
Rails.application.routes.draw do
devise_for :users
root to: "home#index"
get 'home/index'
post 'home/index'
namespace :home, default: {format: :json} do
resources :index, only: :create
end
end
thx, ur Kommentar hinzufügen. Ich schrieb meinen Code wie Ihr, aber ich habe Fehler wie ActiveRecord :: RecordNotFound in HomeController # index Konnte nicht Benutzer mit 'ID' = – Rose2017
@ Rose2017, zusätzliche, warum verwenden Sie 2 Anfrage mit der gleichen Methode ' Startseite # index'? Was ist dein Ziel damit? – araratan
Ich möchte einen Server, dass App-Benutzer können sich anmelden und abmelden, aber ich bin ein Anfänger, so dass ich nicht weiß, warum mu-code sind falsch.u sagte mir, dass ich mit der gleichen Methode home # index, die Teile sind 2 Anfragen? Ich dachte mein Code hätte nur wenn-sonst-Methode. – Rose2017