Ruby on rails Rails以嵌套属性形式访问控制器动作
我有一个嵌套表单,用于成员资格,带有嵌套的成员资格邀请:Ruby on rails Rails以嵌套属性形式访问控制器动作,ruby-on-rails,forms,controller,nested,nested-forms,Ruby On Rails,Forms,Controller,Nested,Nested Forms,我有一个嵌套表单,用于成员资格,带有嵌套的成员资格邀请: <%= form_for [@user, @car, @membership] do |f| %> <%= f.hidden_field :car_id, class: "form-control", value: @car.id %> <%= f.fields_for :membership_invites do |builder| %> <% @code = Digest:
<%= form_for [@user, @car, @membership] do |f| %>
<%= f.hidden_field :car_id, class: "form-control", value: @car.id %>
<%= f.fields_for :membership_invites do |builder| %>
<% @code = Digest::SHA1.hexdigest([Time.now, rand].join) %>
<%= builder.hidden_field :car_id, class: "form-control", value: @car.id %>
<%= builder.hidden_field :invite_code, class: "form-control", value: @code %>
<div class="form-group">
<%= builder.label :user_email %>
<%= builder.text_field :user_email, class: "form-control" %>
</div>
<% end %>
<%= f.submit "Add Member", class: "btn btn-large btn-primary" %>
<% end %>
实际上,我已经在我的模型中通过一个after_create方法实现了这一点。如果有人知道更好的方法,请告诉我 型号 创建后:发送邀请
def send_invite
@user = User.where(email: self.user_email).first
unless @user.blank?
@membership = Membership.find(self.membership_id)
@membership.update_attributes(:user_id => @user.id)
else
InviteMailer.new_invite(self).deliver
end
end
def send_invite
@user = User.where(email: self.user_email).first
unless @user.blank?
@membership = Membership.find(self.membership_id)
@membership.update_attributes(:user_id => @user.id)
else
InviteMailer.new_invite(self).deliver
end
end