Ruby on rails 使用rails表单修改用户模型

Ruby on rails 使用rails表单修改用户模型,ruby-on-rails,devise,Ruby On Rails,Devise,这里没有人,请容忍我。我花了很长时间试图弄清楚如何创建一个页面,允许登录用户通过文本字段更改用户模型的某些属性。例如,我的用户模型有许多“度量”属性,我想通过页面直接修改这些属性。我的用户模型运行在Desive上——我不确定直接修改用户模型是否正确 这是我的控制器。我将其设置为查找第二个用户,因为我只是测试它是否有效 class MeasurementsController < ApplicationController def index @person = Us

这里没有人,请容忍我。我花了很长时间试图弄清楚如何创建一个页面,允许登录用户通过文本字段更改用户模型的某些属性。例如,我的用户模型有许多“度量”属性,我想通过页面直接修改这些属性。我的用户模型运行在Desive上——我不确定直接修改用户模型是否正确

这是我的控制器。我将其设置为查找第二个用户,因为我只是测试它是否有效

class MeasurementsController < ApplicationController
    def index
        @person = User.find(2)
    end
end
任何帮助都将不胜感激。非常感谢。我在这里真的迷路了

编辑:这是我的路线。rb:

Contourfw::Application.routes.draw do
  ActiveAdmin.routes(self)

  devise_for :admin_users, ActiveAdmin::Devise.config
  devise_for :users
  root :to => 'contourfw#landingpage'
  match "measurements" => "measurements#index"
  match "styles" => "styles#index"
end
resources :users

看起来您需要在config/routes.rb中添加一个资源丰富的路由:

Contourfw::Application.routes.draw do
  ActiveAdmin.routes(self)

  devise_for :admin_users, ActiveAdmin::Devise.config
  devise_for :users
  root :to => 'contourfw#landingpage'
  match "measurements" => "measurements#index"
  match "styles" => "styles#index"
end
resources :users
更新 默认情况下,将假定一个名为users\u controller.rb的控制器。如果您希望它使用上述控制器,请将其修改为:

resources :users, :controller => "measurements"

有关更多详细信息,请参阅。

hmm,这样做使表单显示时没有出现我以前的错误,但尝试提交表单会给我一个“路由错误未初始化常量用户控制器”,我认为这样做与我的Desive安装相冲突。我已经在我的routes.rb中为:用户设计了
。这一点一开始奏效,但随后又引发了一系列其他问题。在这种情况下,您可能需要一个“resources:measurements”来指向您的度量控制器,并且在视图的表单_for declaration中,您需要添加另一个参数,或者使表单提交到该控制器,而不是用户_controller。以获得更直接的信息。您有注册用户,您希望他们能够在登录后编辑其个人资料/属性?是的,没错。问题是,我正在为每个用户存储某些特殊属性,例如测量值等。我希望用户登录后能够更改这些属性。为什么不创建一个带有“编辑配置文件”的链接呢?我需要一个单独的页面来更改这些特殊属性。“编辑配置文件”页面仅用于更改他们的密码等。如果您也可以发布routes.rb文件,那就太好了