我在第一次认真地尝试Rails应用程序,并且遇到了一些麻烦。显示相关模型的内容
我有两种模式,一种叫LegalForm
,另一种叫Question
。一个包含不同形式的列表,另一个包含与每个形式相关的问题。或者,正如我在legal_form.rb
class LegalForm < ActiveRecord::Base
has_many :questions
end
已经指出每个数据库表设置如下:
mysql> select * from questions;
+----+--------------+-----------------+---------------+---------------------------------------------------------------------+---------------------+---------------------+
| id | legalform_id | question_number | question_type | the_question | created_at | updated_at |
+----+--------------+-----------------+---------------+---------------------------------------------------------------------+---------------------+---------------------+
| 1 | 1 | 1 | lorem | lorem ipsum dolor sit amet consectetuer adipiscing elit proin risus | 2014-11-20 21:27:04 | 2014-11-20 21:27:04 |
| 2 | 1 | 2 | lorem | lorem ipsum dolor sit amet consectetuer adipiscing elit proin risus | 2014-11-20 21:27:04 | 2014-11-20 21:27:04 |
| 3 | 1 | 3 | lorem | lorem ipsum dolor sit amet consectetuer adipiscing elit proin risus | 2014-11-20 21:27:04 | 2014-11-20 21:27:04 |
| 4 | 1 | 4 | lorem | lorem ipsum dolor sit amet consectetuer adipiscing elit proin risus | 2014-11-20 21:27:04 | 2014-11-20 21:27:04 |
| 5 | 1 | 5 | lorem | lorem ipsum dolor sit amet consectetuer adipiscing elit proin risus | 2014-11-20 21:27:04 | 2014-11-20 21:27:04 |
| 6 | 1 | 6 | lorem | lorem ipsum dolor sit amet consectetuer adipiscing elit proin risus | 2014-11-20 21:27:04 | 2014-11-20 21:27:04 |
| 7 | 1 | 7 | lorem | lorem ipsum dolor sit amet consectetuer adipiscing elit proin risus | 2014-11-20 21:27:04 | 2014-11-20 21:27:04 |
| 8 | 1 | 8 | lorem | lorem ipsum dolor sit amet consectetuer adipiscing elit proin risus | 2014-11-20 21:27:04 | 2014-11-20 21:27:04 |
| 9 | 1 | 9 | lorem | lorem ipsum dolor sit amet consectetuer adipiscing elit proin risus | 2014-11-20 21:27:04 | 2014-11-20 21:27:04 |
| 10 | 1 | 10 | lorem | lorem ipsum dolor sit amet consectetuer adipiscing elit proin risus | 2014-11-20 21:27:04 | 2014-11-20 21:27:04 |
+----+--------------+-----------------+---------------+---------------------------------------------------------------------+---------------------+---------------------+
10 rows in set (0.00 sec)
mysql> select * from legal_forms;
+----+------------+---------+---------------------+---------------------+
| id | title | company | created_at | updated_at |
+----+------------+---------+---------------------+---------------------+
| 1 | First_Form | 1 | 2014-11-20 20:58:53 | 2014-11-20 20:58:53 |
+----+------------+---------+---------------------+---------------------+
我想怎么办是显示问题1 10,如上所述,在legal_forms的显示视图中。
为此,我已经设置了我的legal_forms_controller.rb
如下:
class LegalFormsController < ApplicationController
def index
@legal_forms=LegalForm.all
end
def ufilter
end
def own
end
def show
@legalform = LegalForm.find(params[:id])
@questions = @legalform.questions
end
private
def legal_forms_params
params.require(:legalform).permit(:title, :company)
end
end
,并建立了我的show.html.erb
文件是这样的:
<h1>LegalForms#show</h1>
<p>Find me in app/views/legal_forms/show.html.erb</p>
<% @questions.each do |question| %>
<span><%= question.the_question %> </span>
<% end %>
然而,当我浏览网页在localhost:3000/legal_forms/1
,我面临以下错误:
ActiveRecord::StatementInvalid in LegalForms#show Mysql2::Error: Unknown column 'questions.legal_form_id' in 'where clause': SELECT
questions
.* FROMquestions
WHEREquestions
.legal_form_id
= 1
错误消息将循环中的问题(在给出sql错误的情况下有意义)引脚。我清楚地明白了这里的一些错误想法。任何帮助正确的轨道将不胜感激。
干得好,先生! – neanderslob 2014-11-21 00:19:14