有没有办法将对象(特别是视图中使用的 form_builder 对象)传递给控制器中的操作?我正在使用 link_to_remote 并希望更新控制器中的变量,然后通过 render :update 块将新的嵌套表单元素添加到我的表单中。
如果我将它作为参数传递,它会得到转换的字符串,我似乎也无法成功地将本地哈希传递给控制器。
有没有办法将对象(特别是视图中使用的 form_builder 对象)传递给控制器中的操作?我正在使用 link_to_remote 并希望更新控制器中的变量,然后通过 render :update 块将新的嵌套表单元素添加到我的表单中。
如果我将它作为参数传递,它会得到转换的字符串,我似乎也无法成功地将本地哈希传递给控制器。
不,您不能将对象从视图传递给控制器。
您的所有逻辑都应该发生在控制器和模型中,并且在流程结束时,视图会在浏览器或其他地方呈现结果。
您只能使用参数,无论您需要发送到控制器,都必须在参数内部进行序列化。我确定您不需要发送整个 form_builder 对象,只需发送构建新“子表单”所需的内容即可
顺便说一句,您应该构建您的视图和控制器以在没有任何 ajax 的情况下工作,然后逐步增强您的表单和控制器以支持 ajax。RJS 和 render :update 是不好的做法,应该避免。找一个懂 javascript 的人,而不是用 Rails 的 RJS 写伪代码