这个错误不止一次蔓延,我似乎无法指出它。 错误日志:
undefined method `medium_path' for #<#<Class:0x0000010687a788>:0x00000101d62d90>
Extracted source (around line #3):
媒体控制器。
class MediaController < ApplicationController
def index
@medias = Media.all
end
def show
@media = Media.find(params[:id])
end
def edit
@media = Media.find(params[:id])
end
end
edit.html.erb。
<h1>Editing <%= @media.title %></h1>
<%= form_for(@media) do |f| %>
<p>
<%= f.label :title %>
</p>
<% end %>
的routes.rb
Mediastuff::Application.routes.draw do
root "media#index"
get "media" => "media#index"
get "media/:id" => "media#show", as: "show_media"
get "media/:id/edit" => "media#edit", as: "edit_media"
end
答案 0 :(得分:4)
我相信您的form_for
声明会产生错误。除了config/routes.rb
中的内容之外,您还可能需要为update
操作添加路由,因为form_for(@media)
将会更新。
将以下内容添加到config/routes.rb
:
put "media/:id/update" => "media#update"
还要确保在update
。
MediaController
操作
另一种选择是在resources
中使用config/routes.rb
替代您拥有的所有media/...
路线:
Mediastuff::Application.routes.draw do
root "media#index"
resources :media
end
要查看可以使用的路径/网址助手,请从终端运行rake routes
。