在导轨视图中显示model.find的结果



我的控制器中有一个方法,它以逗号分隔的字符串作为输入,并显示具有该特定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应替换为适当的属性名称

最新更新