Ruby on rails 当用户';谁的名字不见了?
我使用Desive gem在功能中注册了用户。我通过用户注册表单仅获取Ruby on rails 当用户';谁的名字不见了?,ruby-on-rails,Ruby On Rails,我使用Desive gem在功能中注册了用户。我通过用户注册表单仅获取电子邮件id和密码的值 如果我转到一个用户的显示页面,url对其内容的描述不是很好。它在url中显示主id的值,如下所示 http://localhost:3000/users/17 然后,我决定使用friendly\u idGem覆盖默认行为 因此,我没有在注册表单中获得用户的名称。现在,我在url中没有任何其他值可供使用 在这种情况下我该怎么办。请提出一些想法。我如何处理这个问题 让它成为一种独特的资源 resource
电子邮件id和密码的值
如果我转到一个用户的显示页面,url对其内容的描述不是很好。它在url中显示主id的值,如下所示
http://localhost:3000/users/17
然后,我决定使用friendly\u id
Gem覆盖默认行为
因此,我没有在注册表单中获得用户的名称。现在,我在url中没有任何其他值可供使用
在这种情况下我该怎么办。请提出一些想法。我如何处理这个问题 让它成为一种独特的资源
resource :user
<%= form_for @user, url: user_path %>
然后它将直接路由到/user
在您的表单中,您需要将url显式化,因为rails无法推断它是单一资源
resource :user
<%= form_for @user, url: user_path %>
将其作为单一资源
resource :user
<%= form_for @user, url: user_path %>
然后它将直接路由到/user
在您的表单中,您需要将url显式化,因为rails无法推断它是单一资源
resource :user
<%= form_for @user, url: user_path %>
不,我不允许看到其他人的个人资料
我们有以下设置:
这使我们能够使用url调用用户
控制器的编辑
和更新
操作:url.com/profile
您可以按如下方式进行设置:
#app/controllers/users_controller.rb
class UsersController < ApplicationController
def edit
#use current_user
end
def update
redirect_to profile_path if current_user.update profile_params
end
end
#app/views/users/edit.html.erb
<%= form_for current_user do |f| %>
<%= f.text_field ....... %>
<%= f.submit %>
<% end %>
然后,我们设法查找配置文件
,只需稍加修改:
#app/controllers/users_controller.rb
class UsersController < ApplicationController
def show
@user = Profile.find(params[:id]).user #-> friendly_id looks up the :name column in users
end
end
#app/controllers/users_controller.rb
类UsersControllerfriendly#id在users中查找:name列
结束
结束
不,我不允许看到其他人的个人资料
我们有以下设置:
这使我们能够使用url调用用户
控制器的编辑
和更新
操作:url.com/profile
您可以按如下方式进行设置:
#app/controllers/users_controller.rb
class UsersController < ApplicationController
def edit
#use current_user
end
def update
redirect_to profile_path if current_user.update profile_params
end
end
#app/views/users/edit.html.erb
<%= form_for current_user do |f| %>
<%= f.text_field ....... %>
<%= f.submit %>
<% end %>
然后,我们设法查找配置文件
,只需稍加修改:
#app/controllers/users_controller.rb
class UsersController < ApplicationController
def show
@user = Profile.find(params[:id]).user #-> friendly_id looks up the :name column in users
end
end
#app/controllers/users_controller.rb
类UsersControllerfriendly#id在users中查找:name列
结束
结束
是否添加用户名字段?您是否允许用户查看彼此的个人资料?但是,我们不需要用户名和日期;任何其他建议。不,我不允许查看其他人的个人资料。您允许用户无需姓名即可注册?这似乎是akward。是否添加用户名字段?您是否允许用户查看彼此的个人资料?但是,我们不需要用户名和日期;任何其他建议。不,我不允许查看其他人的个人资料。您允许用户无需姓名即可注册?这似乎很糟糕。