Form objects w Rails 5

na podstawie railscasts Ryana Bates’a próbuję napisać własne Form Objecty. niestety napotkałem na problem, w formularzu wyglądającym tak:

= simple_form_for @account_form do |f|
    = f.input :nickname
    = f.submit

‘dostaję’ routing wskazujący na users_path, mimo tego że w klasie AccountForm znajduje się coś takiego:

def self.model_name
    ActiveModel::Name.new(User, nil, "User")
end

Macie może pojęcie w jaki sposób należy nadpisywać tę metodę żeby routing generował mi się taki jak chcę? w tym przypadku zamiast users_path, chcialbym mieć user_path

Może brakuje Ci metody persisted? ?

nie

def persisted?
  false
end

No to masz odpowiedź :smiley: Zawsze leci Ci do create, bo nigdy nie wie, że ma update’ować :slight_smile:

ale to nie leci do create, leci do users_path czyli do akcji index

EDIT

dobra, zmienilem na true i teraz faktycznie pyta o id usera, jakis pomysl jak mu je dac?:smiley:

Przy inicjalizacji FO najlepiej :wink:

BTW users_path ale z metodą post to nie index tylko create :slight_smile:

dodałem delegate id do usera w form account, persisted na true i dziala jak ta lala, dzieki wielkie :wink:

1 Like