不会创建Rails对象

时间:2011-05-26 22:49:37

标签: ruby-on-rails

Ruby 1.8.7,Rails 2.3.11

主要问题:在尝试创建该类型的新对象后,什么可能导致Rails向我发送对象类型的索引页?没有错误产生,没有成功消息,数据库中没有新条目

我使用ruby script/generate scaffold poster owner_id:integer event_id:integer创建标准支架,然后运行rake db:migrate。在不更改任何文件的情况下,我尝试创建一个新的海报对象,它将我发送到/ posters而不是/ posters / show / 1,就像它应该做的那样。

可能有帮助的其他信息:

服务器上已有其他对象类型。当我尝试使用海报belongs_to:owner和belongs_to:event时,这个问题最初出现了。

如果信息到达要验证的模型,它将返回错误空白所需条目。如果我手动将数据输入MySQL数据库,它会显示在索引页面中,并且可以编辑(并保存)而不会出现问题。因此,我认为问题出在控制器文件或数据库本身,但在我查看时没有出现任何问题。

我对Rails的经验很少(4周),并且已经坚持了三天了。

routes.rb:(已删除评论行)

ActionController::Routing::Routes.draw do |map|
  map.resources :posters
  map.resources :place_informations
  map.resources :building_polygon_coordinates
  map.resources :alternate_names
  map.resources :events
  map.resources :hours_listings
  map.resources :locations

  map.connect 'json/buildings', :controller => 'json', :action => 'buildings'
  map.resources :users
  map.resources :buildings

  map.root :controller => "home"

  map.connect ':controller/:action/:id'
  map.connect ':controller/:action/:id.:format'
end

development.log的适用部分:(最后;只是尝试创建新海报; SQL调用被删除)

Processing PostersController#index (for <my IP address> at 2011-05-26 20:32:44) [GET]
~~ SQL stuff, call timings ~~~
Rendering template within layouts/posters
Rendering posters/index
~~ SQL stuff, call timings ~~~


Processing PostersController#new (for <my IP address> at 2011-05-26 20:32:48) [GET]
~~ SQL stuff, call timings ~~~
Rendering template within layouts/posters
Rendering posters/new
~~ SQL stuff, call timings ~~~



Processing PostersController#index (for <my IP address> at 2011-05-26 20:32:56) [GET]
~~ SQL stuff, call timings ~~~
Rendering template within layouts/posters
Rendering posters/index
~~ SQL stuff, call timings ~~~

“获取索引,获取新内容,获取索引”
它应该是*“获取索引,获取新内容,发布后创建,获取显示,获取索引”

1 个答案:

答案 0 :(得分:0)

我修好了。

Apache中的DirectorySlash切换必须设置为“关闭”。我不确定为什么会像它那样影响它,但是在将行DirectorySlash Off添加到“.htaccess”后问题得到了解决。