【发布时间】:2014-10-20 00:24:19
【问题描述】:
我有问题模型和答案模型。
每个用户的每个问题都可以有一个答案。我正在尝试为用户预设一个表单来回答所有问题,但无法真正弄清楚如何使用 formtastic 来做到这一点
这是我目前所拥有的
- @questions.each do |q|
= q.content
- ans = @user.answers.where(question_id:q.id).first.try(:content) || q.description
= semantic_form_for @answers do |f|
= f.label q.content
= f.inputs :content, placeholder: ans
= f.actions
我正在尝试从How to loop through two alternating resources on a form? 获得一些提示,但如果我尝试,我会不断收到 @questions 的“未定义的方法 `model_name' for Class:Class”:
= semantic_form_for @questions do |q|
= q.input :content
= q.semantic_fields_for @answer do |a|
= a.inputs :content
= q.actions
基于Railscast 198, but using formtastic,这是我的尝试,但也不起作用:
- semantic_form_for :Answer, :url => api_v1_answers_path, :method => :put do |f|
- @questions.each do |q|
- f.fields_for 'questions[]', q do |ff|
= q.content
= ff.input
= submit_tag "Submit"
注意:
1] 我希望用户在添加/编辑所有答案后只按一次提交
2] 如果已经存在答案,则应将其预先填充在文本框中
3] 如果可以让生活更轻松,我不介意使用 simple_form gem
【问题讨论】:
-
您的模型是什么样的,它们之间的关系如何?您有问题、答案和用户模型,但您是否有定义表单中出现的问题的内容(可能是测验模型)?
-
所有问题都出现在表格中。 @questions = Question.all
标签: html forms ruby-on-rails-4 simple-form formtastic