1

ユーザー モデルはありますが、1 つの属性のみを更新するフォームを作成する必要があります。

編集:リソースにcreate_mailboxパッチを追加しました:usersが、フォームが settings_create_mailbox_path '` エラーをスローしundefined methodます。このメンバーパッチ/リソースルートがどのように機能するかについて、誰か私に洞察を与えることができますか?

フォームは次のとおりです。

<%= form_for @user, url: settings_create_mailbox_path(@user) do |f| %>
  <%= f.text_field :rss_mailbox, autocomplete: 'off'%>
  <button type="submit" class="button">Create Mailbox</button>
<% end %>

ユーザールートは次のとおりです。

resources :users, id: /.*/ do
    member do
      patch :settings_update, controller: :settings
      patch :create_mailbox, controller: :settings
      patch :view_settings_update, controller: :settings
      patch :sharing_services_update, controller: :sharing_services
      patch :actions_update, controller: :actions
    end
  end

そして、ここに設定ルートがあります:

get :settings, to: 'settings#settings'
  namespace :settings do
    get :account
    get :billing
    get :import_export
    get :feeds
    get :help
    post :update_credit_card
    post :mark_favicon_complete
    post :update_plan
    post :font
    post :font_increase
    post :font_decrease
    post :entry_width
  end
4

3 に答える 3

2

属性と、それを何に変更するかによって異なります。

たとえば、ブール値フィールドの単純な切り替えである場合は、変更を加えて HTML を返す (たとえば、クリックしたリンクを更新するための) ajax 要求を起動するリンクで回避できます。

それが何か他のものであれば、例えば。テキストフィールドや文字列など、 aform_for @userが典型的な方法です。ただし、フォームには 1 つのフィールドしかなく、フォームの投稿を処理するコントローラーには、その 1 つのフィールドのデータのみを受け入れるように強力なパラメーター (Rails 3 の場合は attr_accessible) が設定されます。

于 2013-11-14T01:06:58.270 に答える
-1

Rails 4強力なパラメーターを使用して、次のように更新できる属性を決定します。

def user_param
  params.require(:user).permit(:attr)
end
于 2013-11-14T01:07:34.693 に答える