我的控制器中有一个方法,它以逗号分隔的字符串作为输入,并显示具有该特定id的所有行。输入:1,2,3输出:问题id为1、2和3的所有问题以下是代码:
@string = params[:question][:question]
if(@string)
@q_ids=@string.split(",")
@questions = Question.find(@q_ids)
format.json { render :search_by_id }
respond_to do |format|
format.html {redirect_to search_result_url}
end
else
respond_to do |format|
format.html {redirect_to search_by_id_url}
end
end
但输出总是:
[#,#,#]
请告诉我如何在视图中显示对象的所有字段。提前谢谢。
如果您想显示@questions的结果,为什么要使用redirect_to?
尝试:
@q_ids = params[:question][:question].split(",")
@questions = Question.find(@q_ids)
respond_to do |format|
# format.json can replace to respond_to block
format.json { render :search_by_id }
format.html {render search_result_url}
end
在控制器中,用替换@questions = Question.find(@q_ids)
@questions = Question.where(id: @q_ids)
可视
<% @questions.each do |question| %>
<%= question.field_name %>
<% end %>
其中field_name
应替换为适当的属性名称