我有兩個控制器這樣的:使用相同的諧音和兩個控制器在兩個不同的文件夾
應用程序/控制器/ collection_controller.rb:
class CollectionController < ApplicationController
def create
@collection = Collection.new(name: params[:name])
@collection.save!
render @collection
end
end
而且繼承的類:
應用/controllers/enterprise/collection_controller.rb:
class Enterprise::CollectionController < ::CollectionController
def create
@collection = Collection.new(name: params[:name])
@collection.company = Company.find(params[:company])
@collection.save!
render @collection
end
end
我有兩個部分S:
應用程序/視圖/集合/ _collection.json.jbuilder:
json.extract! collection, :title, :description
json.users do
json.partial! collection.user
end
應用程序/視圖/集合/ _user.json.jbuilder:
json.extract! user, :name, :surname
的問題是:
當我加載Enterprise::CollectionController#create
時,我得到missing template app/views/enterprise/collections/_collection ...
。
我想要Enterprise :: CollectionController使用app/view/collections/_collection.json.jbuilder
而不是app/view/enterprise/collections/_collection.json.jbuilder
。
我試着這樣做:
render @collection, partial: 'collections/collection', but I receive:
但我得到:
missing template for ... app/views/enterprise/users/_user ...
我怎樣才能解決這個問題?
呃......我明白了。沒有一種方法可以將'render'配置爲使用'app/views'而不是'app/views/enterprise'作爲主路徑?因此,如果我添加更多的部分,我必須寫下'json.partial! 「collections/partial_name」,var_name:@ var'而不是簡單的'json.partial!@ var' – ProGM 2015-02-05 16:36:53
請參閱我的更新 – usha 2015-02-05 16:45:07
它不適合我:(實際上rails可以找到'app/views/collections/_collection',但它找不到'app/views/users/_user' ... – ProGM 2015-02-05 23:55:24