/型号/ 3 /照片?而不是/ product / 3 /照片

时间:2013-01-13 10:16:32

标签: ruby-on-rails

我是铁杆的新手。一旦我最终使我的应用程序正常工作,我就会收到错误,或者说更好。如果我这样做(show.html.erb - models):

<%= link_to 'Photos', model_photos_url(@model, @photos) %>

与(routes.rb中)

resources :models do 
 resources :photos
end

比点击照片链接后,我没有

/ models / 3 / photos 路径,但 / models / 3photos。? /models/5/photos.19?format [] = 19 < / strong>当模特有照片时......

我不知道问题的来源,因为我认为我没有在我的代码中编辑任何可能影响它的东西(它之前的工作正常) - 但是再一次,我是一个新手:/

我的意见是我的respond_to do | format |可能有问题在PhotosController中 - 就像这样(这是脚手架完成的):

 def index
    @model = Model.find(params[:model_id])
    @photos = @model.photos  

    respond_to do |format|    
      format.html #index.html
      format.json  { render :json => @photos }    
    end
  end

非常感谢任何帮助!抱歉我的英语(不是母语人士)。

修改

好的,我开始工作了。正如我所说,我对轨道还不太了解 - 我正在学习。

当我改变时

<%= link_to 'Photos', model_photos_url(@model, @photos) %>

<%= link_to 'Photos', model_photos_path(@model) %>

它开始工作了。 即便如此

<%= link_to 'Photos', model_photos_url(@model) %>

没有为我工作。

我重写了一篇关于_url和_path之间差异的文章,并且我将_url更改为_path只是为了尝试一些东西并且没有将它返回。但我真的不知道它可以解决这个问题。

1 个答案:

答案 0 :(得分:0)

更改

<%= link_to 'Photos', model_photos_url(@model, @photos) %>

<%= link_to 'Photos', model_photos_url(@model) %>

无需传递@photos。