如何使用in_place_edit插件来获取有部分的rails?

时间:2010-02-23 13:57:27

标签: ruby-on-rails in-place-edit

我正在使用rails的“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'

2 个答案:

答案 0 :(得分:1)

你没有在你的问题中提供足够的信息,只提供两行回溯,没有视图片段可以工作,或者部分没有。这意味着任何回答你的尝试都必须主要基于猜测。也就是说,就地编辑助手只是一个像其他任何人一样的辅助方法,没什么特别的。您可以从任何视图组件中调用它。很可能控制器或实际上父视图包含该视图的方式不是它失败的原因。

辅助方法抱怨nil值。这意味着您的部分最有可能是调用in_place_editor_field并传递未在部分中定义的值。与在in_place_editor_field调用工作的视图中使用的变量相比,检查以确保它没有使用未定义的局部变量;检查以确保它不要求不同的实例变量。很可能你会发现有效的视图使用一个变量名,而你尝试渲染的部分则使用另一个。

render :partial => ...机制支持将值显式传递给partial的不同方法;您可以选择使用这些来澄清您的代码。请参阅Rails API中渲染文档的“渲染部分”部分的:locals:object选项:

答案 1 :(得分:0)

我正在开发一个位于rails 2.3.8的维护项目。这个问题占用了我很多时间

在视图中,将视图更改为具有实例变量:

@batch = batch 

in_place_editor_field  :batch, 'priority'