所以这让我疯了!我查看了很多帖子,并且无法使我的应用程序正常运行..我希望SO社区可以。
所以,我有一个RoR应用程序,我可以在其中创建一个新事件。
当我去localhost时:3000 / events和localhost:3000 / events / new都正确加载并且看起来很棒。这是问题所在。当我在localhost:3000 / events / new上提交事件时,表单信息被添加到数据库中,但是我收到以下错误:
#<#:0x00000100a15800>
的未定义方法`event_path'以下是一些(希望)相对代码位:
视图/活动/ create.html.erb
<%= simple_form_for(@event) do |f| %>
<%= f.input :name %>
<%= f.input :date %>
<%= f.input :location %>
<%= f.input :organization %>
<%= f.input :description %>
<%= f.submit "Create Event"%>
&lt;%end%&gt;
控制器/ events_controller.rb
class EventsController < ApplicationController
respond_to :html
def index
@all_events = Event.all
end
def show
@event = Event.find_by_name(params[:id])
end
def new
respond_with(@event = Event.new)
end
def edit
@event = Event.find_by_name(params[:id])
end
def create
@event = Event.create(params[:event])
if @event.valid?
flash[:notice] = "Event successfully created"
end
end
def update
@event = Event.find_by_name(params[:id])
@event.update_attributes(params[:event])
if @event.valid?
flash[:notice] = "Event successfully updated"
end
respond_with(@event)
end
def destroy
@event = Event.find_by_name(params[:id])
if @event.destroy
flash[:notice] = "Event successfully deleted"
end
respond_with(@event)
end
end
模型/ event.rb
class Event < ActiveRecord::Base
validates_presence_of :name
has_and_belongs_to_many :organizations
attr_accessible :name, :date, :location, :organization, :description
attr_accessor :organizations
end
config / routes.rb (仅限相关部分)
resources :events, :only => [:index, :new, :create, :edit]
真的很感激可以提供的任何帮助......我是Ruby on Rails的新手,所以我只想弄清楚这一切。
谢谢!
凯文
答案 0 :(得分:1)
创建或更新方法后,您将重定向到@event
,这将重定向到您的活动的展示页面。您尚未使用:only
子句为show,update,destroy页面生成路由。您可以通过在控制台上运行rake routes
来验证这一点。删除:only clause
,它会起作用。