2011-09-21 22 views
41

Tôi đang cố gắng xác định hành động "savenew" trong quản trị viên/nhiếp ảnh gia.Làm cách nào để xác định hành động với biểu mẫu đơn giản?

Tôi đã thử này:

<%= simple_form_for(:photographer_savenew, :action => 'savenew', :id => params[:id], :multipart => true) do |f| %> 

Nhưng hành động theo hình thức vẫn là: /admin/photographers

Khi nó nên là: /admin/photographers/savenew

+0

Bộ điều khiển/tuyến đường có được đặt tên không? –

+0

Bạn có nghĩa là: không gian tên: admin làm tài nguyên: nhiếp ảnh gia làm bộ sưu tập làm bài: savenew end end end –

+0

Không, ý tôi là [this] (http://edgeguides.rubyonrails.org/routing.html#controller-namespaces- và định tuyến) và/hoặc đặt lớp con 'ActionController' (bộ điều khiển của bạn) vào một mô-đun (xem [ở đây] (http://accentuate.me/blog/?p=12), tôi không thể tìm thấy liên kết Tôi thường đề cập đến, xin lỗi: ( –

Trả lời

116

Có một lý do bạn không sử dụng REST cho điều này? Nó sẽ làm cho cuộc sống của bạn dễ dàng hơn nhiều và yêu cầu mã ít hơn nhiều. Nếu bạn được đặt sử dụng hành động tùy chỉnh này, bạn sẽ cần chỉ định url và có thể là phương thức:

<%= simple_form_for @photographer, :url => savenew_photographers_path, :method => :post ... # etc 
+2

Nó không phải là rõ ràng từ việc đọc tài liệu biểu mẫu đơn giản những gì params simple_form_for đã. để bao gồm chúng ở trên! – thatmiddleway

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