簡體   English   中英

你如何讓simple_form使用urls的基類而不是子類?

[英]How do you get simple_form to use the base class for urls and not the subclass?

每當我使用simple_form_for()時,它默認為“my_subclasses_path”而不是“my_base_classes_path”。 我怎么能告訴它不使用子類?

在我的例子中,我有一個User對象,但也有很多子類。 我想使用標准用戶URL,因為所有子類對這些表單的工作方式相同。

另外,我想阻止simple_form在子類之后命名屬性。 例如,如果子類是“Admin”,我希望提交的參數是“params [:user]”而不是“params [:admin]”。

我發現以上內容真的很奇怪,因為表單實際上是“user [first_name]”而不是“admin [first_name]” - 但是simple_form似乎想讓它成為params [:admin]。

基本上,子類導致simple_for不能正常運行。 我希望有一個選項

base_class => 'User'

這將處理所有這些事情。

如果您傳入:url選項,如rafaelfranca建議,以及:as選項,它應該正常工作。 例如:

simple_form_for(@admin, :url => user_path(@admin), :as => :user)

這給了我正確的表單操作和參數(例如user [name]而不是admin [name])。

:url選項傳遞給simple_form_for

例如: simple_form_for(@admin, :url => users_path)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM