嗨我很新的轨道,并试图添加新的发布方法时遇到问题。设计新的自定义操作后没有登录
我想创建一个新的方法,使用户。
所以我修改我的用户控制器有以下方法
def enable
if ([email protected])
@user.enabled = true;
if @user.save
UserMailer.send_enabled_message(@user).deliver
redirect_to users_url, notice: 'User was successfully enabled.'
else
redirect_to users_url, notice: 'Could not enable user.'
end
else
redirect_to users_url, notice: 'Could not enable user.'
end
末
而且我已经添加以下到我的路线:
match 'users/:id' => 'users#enable', :via => 'post', :action => :enable
而下面要加入我的视图显示用户列表:
<td><%= link_to 'Enable', user, method: :enable, data: { confirm: 'Are you sure?' } %></td>
这一切似乎工作,但我认为我的路线已覆盖我的登录帖子,因为我无法再登录。我是否需要创建一个新表单,或者我可以像这样快速提交吗?
同样沿着同样的路线,当你使用link_to时,我该如何做这样的事情:<%= link_to 'enable', enable_user(user) %>
我该如何/在哪里创建enable_user
方法?
感谢GoGoCarl现在工作。只好我的路线改成这样:
resources :users do
post 'enable', on: :member
end
和我的观点这样:
<td><%= link_to 'Enable', enable_user_path(user), method: :enable, data: { confirm: 'Are you sure?' } %></td>