2014-05-21 12 views
6

Tôi có hai mô hình liên quan, Bunny has_many BunnyData (thuộc về Bunny). Từ trang hiển thị của một chú thỏ cụ thể (trong Active Admin), tôi muốn tạo một liên kết để tạo một BunnyData liên quan. Tôi đã thử một vài cách khác nhau, không có sự thành công, và hiện đang cố gắng này:Truyền tham số cho hành động mới trong Quản trị hiện hoạt

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

Các liên kết được tạo ra kết thúc như là một cái gì đó như:

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

Nhưng khi bạn đi đến trang đó, menu thả xuống cho Bunny được đặt thành mặc định trống thay vì hiển thị tên của Bunny có ID 5.

Cảm ơn bạn trước.

+0

Bài đăng của bạn cũng giúp: https://groups.google.com/forum/#!msg/activeadmin/Ufmt8Uux0RA/mTm7KKB3D2IJ – monteirobrena

Trả lời

14

Rails không gian tên các trường biểu mẫu cho mô hình dữ liệu, trong trường hợp này là BunnyData. Đối với biểu mẫu được điền trước, bất kỳ trường nào được cung cấp cũng phải bao gồm không gian tên. Như một ví dụ:

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 

Các lĩnh vực có thể được điền sẵn bằng cách thông qua một băm để con đường helper.

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

Điều gì sẽ tạo ra đường dẫn sau và đặt trường biểu mẫu.

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

Trong trường hợp của BunnyData, nó có thể là hơi khác nhau do các dạng số ít và số nhiều của chuẩn. Nhưng điều đó có thể được xác minh bằng cách kiểm tra HTML được tạo để tìm thuộc tính name của các yếu tố đầu vào.

Các vấn đề liên quan