我有一个标准设计安装,我正在尝试添加功能,以便从管理面板添加具有健身房成员资格的用户。
的routes.rb
devise_for :users
resources :users
我正在从健身房控制器创建用户,所以这是我的健身房行动
def members
@gym = Gym.find(params[:id])
@user = User.new
@user.gym_users.build
@roles = Role.all
end
用户模型
中接受gym_user accepts_nested_attributes_for :gym_users
然后这是我表格的一部分
<%= form_for @user do |f| %>
<%= f.label :email %><br />
<%= f.text_field :email %>
<% f.fields_for :gym_users do |builder| %>
<%= builder.label :item_id, "Membership Level" %><br />
<%= builder.collection_select(:item_id, @gym.membership_items, :id, :name, {:include_blank => true}) %>
<% end %>
&lt;%end%&gt;
我遇到的问题是我实际创建用户的用户控制器。这是创建用户的成员资格页面的路径
match 'gyms/:id/members' => 'gyms#members'
最后,这是我的users_controller上的create方法
def create
@user = User.new(params[:user])
if @user.save
:notice => "User created successfully"
render :new
else
render :new
end
端
我不确定如何在发生错误时发送回该网址,以便我的模型错误随之发送,或在正确完成时重定向。
答案 0 :(得分:0)
我通过将其作为ajax调用解决了这个问题,从而消除了重定向的需要。