我的控制器中有一个方法,它以逗号分隔的字符串作为输入,并显示具有该特定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
但输出总是:
[#,#,#]
请告诉我如何在视图中显示对象的所有字段。提前谢谢。
答案 0 :(得分:0)
在控制器中,将@questions = Question.find(@q_ids)
替换为
@questions = Question.where(id: @q_ids)
在视图中
<% @questions.each do |question| %>
<%= question.field_name %>
<% end %>
其中field_name
应替换为适当的属性名称
答案 1 :(得分:0)
如果您想要显示@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