0
你能幫我弄清楚我做錯了什麼。似乎Ruby自動地嘗試使用我沒有定義的路徑。Ruby on Rails 4視圖NoMethodError
schema.rb
...
create_table "packages", force: :cascade do |t|
t.integer "user_id"
t.integer "company_id"
t.integer "manager_id"
t.string "tag"
...
end
...
...
的routes.rb
...
resources :users do
resources :packages
end
...
packages_controller.rb
...
def new
@package = Package.new
@package.user_id = params[:user_id]
@package.manager_id = params[:manager_id] || current_user.id
@user = safe_find User, @package.user_id, "user"
@manager = safe_find User, @package.manager_id, "manager"
end
...
new.html.haml
%h1 New package
= render 'form'
= link_to 'Back', user_packages_path(@user)
_form.html.haml
= form_for @package do |f|
= render 'shared/error_messages', object: f.object
-# .field
-# = f.label :tag
-# = f.text_field :tag
-# = render_save_back(user_path(@user))
錯誤接收
NoMethodError in PackagesController#new
undefined method `packages_path' for #<#<Class:0x00000003767c00>:0x007f8b8dcd6228>
Application Trace | Framework Trace | Full Trace
app/views/packages/_form.html.haml:1:in `_app_views_packages__form_html_haml__2133351491984004824_70118672529040'
app/views/packages/new.html.haml:3:in `_app_views_packages_new_html_haml___3329420746374611085_52010540'
'@ user'爲零。嘗試調試它。 – Pavan