這裏的頁面模板我有:NoMethodError在Rails頁
<h1>Editing user</h1>
<% form_for(@user) do |f| %>
<%= f.error_messages %>
<p>
<%= f.label :forename %><br />
<%= f.text_field :forename %>
</p>
<p>
<%= f.label :surname %><br />
<%= f.text_field :surname %>
</p>
<p>
<%= f.label :address %>
<%= f.text_field :address %>
</p>
<p>
<%= f.label :postcode %>
<%= f.text_field :postcode %>
</p>
<p>
<%= f.label :contact_number %>
<%= f.text_field :contact_number %>
</p>
<% end %>
<%= link_to 'Show', @user %> |
<%= link_to 'Back', users_path %>
控制器實際上是從AdminController子類型爲有一個單獨的部分,如下類的聲明顯示:
class Admin::UsersController < ApplicationController
與編輯方法如下:
def edit
@user = User.find(params[:id])
end
隨着誤差如下:
undefined method `user_path' for #<ActionView::Base:0x104369fe8>
及以下在我的路線:
map.namespace(:admin) do |admin|
admin.resources :pages
admin.resources :treatments
admin.resources :users
admin.resources :finances
end
所以我有點卡住,因爲它是在做它的form_for(@user)
。我以前見過這個,但不知道如何診斷它不幸。
這對編輯方案不起作用,因爲URL將有所不同。 – 2010-07-15 17:14:19
@KandadaBoggu。我明白,但那麼你可以使用'edit_admin_user_path'作爲這種情況,不是嗎?但無論如何,我更喜歡你的答案 – bjg 2010-07-15 17:29:04
是的,你是對的。你必須有額外的代碼來檢查對象的狀態並相應地設置url。 – 2010-07-15 17:54:03