2017-09-25 10 views
0

나는 예약이라는 모델을 가지고 있으며 자원 관리로 활성 관리 플러그인을 사용하고 있습니다. 백엔드에서 입력 필드를 만들지 않고 현재 로그인 한 사용자 (폼 데이터를 삽입 한 사용자)의 IP 주소와 사용자 이름을 데이터베이스에 삽입해야하는 백엔드에서 예약이라는 양식이 있습니다. 제발 제안 해주세요. mysql을 데이터베이스 플랫폼으로 사용하고 있습니다.활성 관리자에 IP 주소를 삽입하는 방법은 무엇입니까?

는 여기에 내가 많이 시도하지만 여전히 작동하지

class CustomizedBookingsController < ApplicationController 
def create 
customized_booking = CustomizedBooking.new(params[:customized_booking]) 
customized_booking.booked_by = current_admin_user 
customized_booking.booking_ip = request.remote_ip 
end 
end 

내 컨트롤러의 구문입니다. 당신이 인증을 위해 고안를 사용하는 경우

답변

1

, 당신은 방법 current_user을 사용할 수 있습니다, 여기에 설명서를 참조하십시오 https://github.com/plataformatec/devise#controller-filters-and-helpers

가 IP 주소를 추가하려면 ip 방법의 ActionDispatch::Request의 일부를 가지고있다. 여기에 설명서를 참조하십시오 : http://api.rubyonrails.org/classes/ActionDispatch/Request.html#method-i-ip

그래서 예약 모델은 모두 userip 필드/방법이있는 경우, 당신은 당신의 BookingsController

def create 
booking = Booking.new(booking_params) 
booking.user = current_user 
booking.ip = request.ip 
end 
create 행동을 설정할 수 있습니다