【发布时间】:2013-10-02 04:30:28
【问题描述】:
def some_action
@posts = Post.all
render partial: 'layouts/things'
end
在我的布局目录中,我有部分内容 (_things.html.erb)
我的其他部分工作正常。但它不会将部分抛出异常呈现为
Missing partial layouts/things with {:locale=>[:en], :formats=>[:json], :handlers=>[:erb, :builder, :raw, :ruby, :jbuilder, :coffee]}. Searched in: * "/my/path/appname/app/views"
Edit-1
def some_action
@posts = Post.all
respond_to do |format|
format.json
end
end
好的,我更改了我的控制器链接,但后来也出现了同样的异常。
Edit-2
我在我的views/controller_name/_some_action.json.erb中创建了
这是控制器
def some_action
@posts = Post.all
respond_to do |format|
format.json { render json: @posts }
end
end
我的 _some_action.json.erb 文件有
<%= render partial: 'shared/information', post: @posts.name %>
并在views共享目录中创建_information..js.erb
MY _information.js.erb 的示例文本为
test
我从使用检查元素检查的控制器获得 json 响应。但它不是呈现我需要的实际文本(即test)
【问题讨论】:
-
您是否尝试向该操作发出 JSON 请求?查看错误消息中的
:formats选项。 -
是的,这是一个带有
json数据类型的 ajax 请求 -
也许这会对你有所帮助:stackoverflow.com/questions/2566759/…
-
您的视图命名错误。您需要
some_action.json.erb而不是_some_action.json.erb(没有初始下划线 - 只有部分名称,而不是视图模板,以下划线开头)。此外,调用变量来存储 @posts 'post' 也没有任何意义 - 保持复数形式。_information..js.erb中的两个点也应该只是一个。可能是错别字?也许你在打字时需要放慢速度:) -
@micapam 做了你提到的所有改变。它只是在检查元素中使用 json 响应。但是实际的
test文字没有显示
标签: ruby-on-rails ruby-on-rails-3