我创建了一个来邀请新用户注册我的应用。只有已注册的用户才能邀请新用户。受邀用户将收到已注册用户的邀请电子邮件。
我在尝试添加动态电子邮件输入字段时感到困惑。我可以使用jQuery帮助添加其他字段,但我不知道如何将所有 $routeProvider.
when('/admin', {
templateUrl: 'Your template url',
controller: 'AdminController',
permission: 'AccessAdministration',
resolve: {
permissionList: function (permissionService) { return permissionService.getPermissions(); }
}
})
输入数据传递到users_controller.rb文件中的email
操作。
我不打算使用nested attributes,因为我没有将任何内容保存到数据库中。
应用/视图/用户/ add_users.html.erb
send_email
应用/视图/用户/ _new_user.html.erb
<%= form_tag(send_email_path, method: :post) do %>
<span id="fields">
<%= render "new_user" %>
</span>
<%= button_tag(type: 'button', id: "addBtn") do %>Add<% end %>
<% end %>
<script>
$("#addBtn").click(function(){
$("#fields").append("<br/><%= j render 'new_user' %>");
});
</script>
users_controller.rb
<label>User</label>
<br>
<%= email_field_tag 'email', nil, class: 'email-input', id: "email-input" %>
应用/邮寄者/ add_user_mailer.rb
def send_email
AddUserMailer.sign_up_email(current_user, params[:email]).deliver_now
redirect_to '/'
end
的routes.rb
class AddUserMailer < ApplicationMailer
default from: 'example@example.com'
def sign_up_email(user, address)
@url = "http://localhost:3000/users/sign_up?sc=#{user.customer.secret_code}&cust=#{user.customer.id}"
mail(to: address, subject: "Sign up")
end
end
答案 0 :(得分:1)
将您的app/views/users/_new_user.html.erb
文件更改为以下内容:
<label>User</label>
<br>
<%= email_field_tag 'email[]', nil, class: 'email-input', id: "email-input" %>
请注意,email_field_tag
的第一个参数(输入字段的名称)已从email
更改为email[]
。这是一个将params[:email]
设置为数组的Rails约定。
然后,您可以将users_controller.rb
修改为以下内容:
def send_email
params[:email].each do |email_address|
AddUserMailer.sign_up_email(current_user, email_address).deliver_now
redirect_to '/'
end
end