0

ここで合計レール初心者なので、我慢してください。ログインしたユーザーがテキストフィールドを介してユーザーモデルの特定の属性を変更できるページを作成する方法を理解しようとして、私は長い間立ち往生してきました。たとえば、私のユーザー モデルには、ページから直接変更したい多数の「測定」属性があります。私のユーザー モデルは Devise で実行されています。ユーザー モデルを直接変更して正しいことを行っているかどうかはわかりません。

これが私のコントローラーです。機能するかどうかをテストするだけだったので、2 番目のユーザーを見つけるように設定しました。

class MeasurementsController < ApplicationController
    def index
        @person = User.find(2)
    end
end

ここに私の index.html.erb があります:

<%= form_for @person do |f| %>
    <%= f.label :style %>:
    <%= f.text_field :style %><br />
    <%= f.submit "Update"%>
<% end %>

ただし、次のエラーが吐き出されます。

NoMethodError in Measurements#index
undefined method `user_path'

どんな助けでも本当に感謝します。よろしくお願いします。ここで本当に負けました。

編集:これが私の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
4

1 に答える 1

0

config/routes.rb にリソースの多いルートを追加する必要があるようです:

resources :users

更新 デフォルトでは、users_controller.rb という名前のコントローラーを想定しています。上記のコントローラーを使用する場合は、次のように修正します。

resources :users, :controller => "measurements"

詳細については、http: //guides.rubyonrails.org/routing.html#customizing-resourceful-routesを参照してください。

于 2013-03-19T20:33:14.853 に答える