2014-05-21 12 views
6

Mam dwa powiązane modele, Bunny has_many BunnyData (which belong_to Bunny). Na stronie pokazu konkretnego Bunny (w Active Admin) chcę utworzyć link do powiązanej BunnyData. Próbowałem kilka różnych sposobów, ale bez powodzenia, i obecnie próbuje w ten sposób:Przekaż parametr do nowej akcji w Active Admin

sidebar :data, :only => :show do 
    link_to 'New Data', new_admin_bunny_datum(:bunny_id => bunny.id) 
end 

Link generowane kończy się za coś takiego jak:

.../admin/bunny_data/new?bunny_id=5

Ale kiedy idziesz do na tej stronie rozwijana lista dla Bunny jest ustawiona na pustą wartość domyślną, zamiast pokazywać nazwę Bunny z identyfikatorem 5.

Z góry dziękuję.

+0

Twój post też pomaga: https://groups.google.com/forum/#!msg/activeadmin/Ufmt8Uux0RA/mTm7KKB3D2IJ – monteirobrena

Odpowiedz

14

Miejsca nazw railsów tworzą pola dla modelu danych, w tym przypadku BunnyData. Aby formularz był wstępnie wypełniony, wszelkie udostępnione pola muszą również zawierać przestrzeń nazw. Na przykład:

ActiveAdmin.register Post do 
    form do |f| 
    f.inputs "Post Details" do 
     f.input :user 
     f.input :title 
     f.input :content 
    end 
    f.actions 
    end 
end 

Pola można wstępnie wypełnić, przekazując skrót do pomocnika ścieżki.

link_to 'New Post', new_admin_post_path(:post => { :user_id => user.id }) 

Który wygeneruje następującą ścieżkę i ustawi pole formularza.

/admin/posts/new?post[user_id]=5

W przypadku BunnyData, mogą nieznacznie różnić się ze względu na pojedynczej i mnogiej odniesienia. Ale można to sprawdzić, sprawdzając wygenerowany kod HTML, aby znaleźć atrybut wejść.

Powiązane problemy