Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 当用户';谁的名字不见了?_Ruby On Rails - Fatal编程技术网

Ruby on rails 当用户';谁的名字不见了?

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

我使用Desive gem在功能中注册了用户。我通过用户注册表单仅获取
电子邮件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。是否添加用户名字段?您是否允许用户查看彼此的个人资料?但是,我们不需要用户名和日期;任何其他建议。不,我不允许查看其他人的个人资料。您允许用户无需姓名即可注册?这似乎很糟糕。