У меня есть модель запроса, в которой хранятся пол, уровень пригодности и доступность человека. Этот объект принадлежит модели пользователя. То, что я пытаюсь сделать, это передать идентификатор пользователя, который изначально сделал запрос, и отправил параметр user: в действие send_mail на почтовый контроллер, когда пользователь нажимает кнопку. Это не работает, и Rails говорит о неожиданном ключевом слове. Я в основном пытаюсь передать user.id объекта Request на действие send_email почтового контроллера. Здесь он будет использовать user_id, чтобы найти пользователя, а затем оттуда я найду электронное письмо пользователя. Затем я отправлю пользователю электронное письмо с этой переменной.Не удается получить доступ к переменным
Запрос Контроллер
class RequestsController < ApplicationController
before_action :authenticate_user!
def index
@requests = Request.all
end
def create
@request = Request.new(request_params)
@request.user = current_user
@request.save
redirect_to requests_path
end
def new
@request = Request.new
end
def destroy
end
private
def request_params
params.require(:request).permit(:gender, :level, :time_available)
end
end
index.html.erb
<% provide(:title, "Open Requests") %>
<table class="table table-hover">
<th>Gender</th>
<th>Level</th>
<th>Time Available: </th>
<% @requests.each do |request| %>
<tr>
<td><%= request.gender %></td>
<td><%= request.level %></td>
<td><%= request.time_available %></td>
<td><%= button_to "I want to exercise with you!", {:controller => "mail", :action => "send_email", :user => Request.user } class: "btn btn-primary" %></td>
</tr>
<% end %>
</table>
Почта контроллер
class MailController < ApplicationController
def send_email
@creation_user = :user
@email = @creation_user.email
end
end
Send_Email.html.erb
<h2><%= @email %></h2>
попробуйте добавить пользователя в качестве параметра в метод send_email – erickeno