如何将in_place_edit插件用于带有部分的导轨?
-
22-09-2019 - |
题
我正在使用“ in_place_editing”插件进行导轨来渲染带有现场编辑的表单。只要由Rails选择默认模板(在控制器内部调用'Render'方法),事物正常工作,但是当我尝试使用“ Render:partial =>'partial_name''进行部分渲染时,它们会分解。这是一个已知的问题(in_place_edit不适用于局部吗?)还是我错过了一些东西?在渲染部分时,我会遇到以下错误:
Called id for nil, which would mistakenly be 4 -- if you really wanted the id of nil, use object_id
.../vendor/plugins/in_place_editing/lib/in_place_macros_helper.rb:74:in `in_place_editor_field'
解决方案
您不会在问题中提供足够的信息,只提供两行回溯,而没有可行的视图片段,或者没有片段。这意味着任何回答的尝试都必须主要基于猜测。也就是说,现场编辑助手只是其他任何人,没有什么特别的方法。您可以从几乎任何视图组件中调用它。控制器包含该视图的方式,或者确实是父级视图,这并不是它失败的原因。
助手方法抱怨 nil
价值。这意味着您的部分很可能是在调用 in_place_editor_field
并传递部分未定义的IT值。检查以确保它不使用未定义的局部变量,与视图中使用的变量相比 in_place_editor_field
通话作品;检查以确保它也不要求使用不同的实例变量。很可能您会发现工作的视图是使用一个变量名称,而您尝试渲染的部分是使用另一个变量名称。
这 render :partial => ...
机制支持不同的方式将价值传递给部分;您可以选择使用这些来澄清您的代码。看到 :locals
和 :object
Rails API中渲染文档的“渲染部分”部分的选项:
其他提示
我正在制作一个位于Rails 2.3.8的维护项目。这个问题吃了很多时间
在视图中,将视图更改为具有实例变量:
@batch = batch
in_place_editor_field :batch, 'priority'
不隶属于 StackOverflow