我有一個用戶模型。用戶可以是僱主或學生。所以有一個僱主模型和一個學生模型。他們都屬於用戶。只有僱主才能查看學生檔案。所以如果配置文件有問題,僱主應該能夠報告配置文件。我正考慮在個人資料上有一個「報告」按鈕,只有僱主才能看到。然後,當他們點擊它時,管理員(我)會收到一封電子郵件,其中包含學生的網址或ID。用戶如何報告其他用戶?
現在,學生個人資料網址看起來像www.mywebsite.com/students/john-big
。如何設置報告按鈕,以便整個URL或用戶標識(John-big)通過電子郵件發送給我。
郵件程序已經建立,因爲我設置它的方式是每次用戶註冊時都會收到一封電子郵件。我可以使用相同的邏輯給自己發送電子郵件,但抓取ID或URL是問題所在。什麼是最好的方式來做到這一點?
USERINFO控制器(用戶信息=學生):
class UserinfosController < ApplicationController
before_action :find_userinfo, only: [:show, :edit, :update, :destroy, :log_impression]
before_action :authenticate_user!
def index
end
def show
end
def new
@userinformation = current_user.build_userinfo
end
def create
@userinformation = current_user.build_userinfo(userinfo_params)
if @userinformation.save
redirect_to userinfo_path(@userinformation)
else
render 'new'
end
end
def edit
end
def update
if @userinformation.update(userinfo_params)
redirect_to userinfo_path(@userinformation)
else
render 'edit'
end
end
def destroy
@userinformation.destroy
redirect_to root_path
end
private
def userinfo_params
params.require(:userinfo).permit(:name, :email, :college, :gpa, :major)
end
def find_userinfo
@userinformation = Userinfo.friendly.find(params[:id])
end
end
僱主控制器:
class EmployersController < ApplicationController
before_action :find_employer, only: [:show, :edit, :update, :destroy]
def index
end
def show
end
def new
@employer = current_user.build_employer
end
def create
@employer = current_user.build_employer(employer_params)
if @employer.save
redirect_to userinfos_path
else
render 'new'
end
end
def edit
end
def update
if @employer.update(employer_params)
redirect_to employer_path(@employer)
else
render 'edit'
end
end
def destroy
@employer.destroy
redirect_to root_path
end
private
def employer_params
params.require(:employer).permit(:paid, :name, :company, :position, :number, :email, :emp_img)
end
def find_employer
@employer = Employer.friendly.find(params[:id])
end
end
用戶模式:
class User < ActiveRecord::Base
has_one :userinfo
has_one :employer
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
acts_as_messageable
after_create :welcome_send
def welcome_send
WelcomeMailer.welcome_send(self).deliver_now
end
end
請讓我知道,如果你們東東d更多信息。
您可以使用'user_info_url(@user_info)'或者您可以簡單地在郵件視圖中顯示id。 –