Rails 中的 ActionView::MissingTemplate 什么时候发生?
When does ActionView::MissingTemplate in Rails happen?
ActionView::MissingTemplate
通常在什么时候发生在Rails?我有一个 API 不可能 return 以上的错误,但是当移动设备触发路由时。它发生两次 ActionView::MissingTemplate
错误。
这是我 API 控制器中的示例代码:
def search
@search_text = params[:search_text]
unless @search_text.blank?
@my_models = MyModel.find_all_by_age(@search_text)
else
@my_models = []
end
render 'api/v4/my_models/show', status: 200, formats: :json
end
在我的路线上:
namespace :api, defaults: {format: 'json'} do
namespace :v4 do
resource :my_models, only: [:search] do
get :search
end
end
end
我很困惑ActionView::MissingTemplate
什么时候发生?有人可以指点我什么时候发生这个错误吗?此手机是否遗漏了 URL 中的某些内容以导致此错误发生?怎么样?
谢谢!
ActionView 将在当前控制器视图文件夹中查找 templates/partials。但是,如果您更改了控制器中的视图路径,那么您将能够为其添加和附加不同的视图路径。
在您的搜索方法中,您有 render 'api/v4/my_models/show'
,确保您在列出的工作目录中有正确的模板。
当您在 url 参数中包含 %dd
和 %ff
时,可能会出现 ActionView::MissingTemplate
错误。因为下面是 ASCII Encodings 中的特殊字符。 %dd
用于特殊字符 Ý
例如,
localhost:3000/api/users?search=%dd
localhost:3000/api/users?search=%ff
包含 %ff
和 %dd
的参数的任何大小写。喜欢 d%dd
.
ActionView::MissingTemplate
通常在什么时候发生在Rails?我有一个 API 不可能 return 以上的错误,但是当移动设备触发路由时。它发生两次 ActionView::MissingTemplate
错误。
这是我 API 控制器中的示例代码:
def search
@search_text = params[:search_text]
unless @search_text.blank?
@my_models = MyModel.find_all_by_age(@search_text)
else
@my_models = []
end
render 'api/v4/my_models/show', status: 200, formats: :json
end
在我的路线上:
namespace :api, defaults: {format: 'json'} do
namespace :v4 do
resource :my_models, only: [:search] do
get :search
end
end
end
我很困惑ActionView::MissingTemplate
什么时候发生?有人可以指点我什么时候发生这个错误吗?此手机是否遗漏了 URL 中的某些内容以导致此错误发生?怎么样?
谢谢!
ActionView 将在当前控制器视图文件夹中查找 templates/partials。但是,如果您更改了控制器中的视图路径,那么您将能够为其添加和附加不同的视图路径。
在您的搜索方法中,您有 render 'api/v4/my_models/show'
,确保您在列出的工作目录中有正确的模板。
当您在 url 参数中包含 %dd
和 %ff
时,可能会出现 ActionView::MissingTemplate
错误。因为下面是 ASCII Encodings 中的特殊字符。 %dd
用于特殊字符 Ý
例如,
localhost:3000/api/users?search=%dd
localhost:3000/api/users?search=%ff
包含 %ff
和 %dd
的参数的任何大小写。喜欢 d%dd
.