使用“渲染”解析执行视图文件与 Nokogiri 的替代方法

问题描述

我有一个帮助文件,其中包含一个包含以下代码段的方法

header_id = Nokogiri::HTML.parse((render "shopfront/headers_#{@current_user.shop.header_id}"))

我正在做的是获取部分内容的结果(其中包含一些 ERB),然后用 Nokogiri 对其进行解析以供进一步使用。

我正在尝试确定是否有办法在不使用 render 的情况下执行此操作,因为我想以相同的方式以相同的方法解析另一个视图文件 - 目前它完美运行(解析视图文件中执行的 ERB),但是我遇到了双重渲染问题。

Render and/or redirect were called multiple times in this action

关于如何在不使用渲染的情况下实现它的任何提示,或者可以在同一方法中使用渲染两次而不会遇到此问题(因为我实际上根本没有渲染视图)?

>

解决方法

最好的方法是从逻辑上获取值。 如果你真的想解析你在你的应用程序中生成的视图,请尝试以下

>>> parts

Index(['A','E','G'],dtype='object',name='part')

然后

num_ques=int(input('Enter Number of Questions: '))#take input number of questions
num_parts=int(input('Enter Number of Participants: '))#take input of number of person answering
n =1
m= 1
num_parts=int(num_parts)
part=[]

while num_parts>=m:
    while num_ques>=n:
        part.append(input(f'Enter Ans{n}: '))
        f=open('data1.txt','w')
        f.write(str(part))
        f.close()
        n=n+1
    m=m+1