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 ~~~
“获取索引,获取新内容,获取索引”
它应该是*“获取索引,获取新内容,发布后创建,获取显示,获取索引”
答案 0 :(得分:0)
我修好了。
Apache中的DirectorySlash切换必须设置为“关闭”。我不确定为什么会像它那样影响它,但是在将行DirectorySlash Off
添加到“.htaccess”后问题得到了解决。