私は以前にこの質問をしましたが、OPを乱しました。このための公式文書は、最高ではなく、ちょっと混乱しています。RoR:Collection_select未定義のメソッド
<%= f.collection_select :feedback_request, Feedback.order(:feedback_option), :id, :feedback_request, {prompt: "Feedback"}, {class: "select large-1 behaviourForm"} %>
回答テーブル::私はフィードバックテーブルからオプションを収集し、フォーム上のドロップダウンでそれらをレンダリングして、いわゆる「答え」と呼ばれるテーブルと列に保存しようとしています「feedback_request」collection_selectを使用して
create_table "answers", force: :cascade do |t|
t.integer "user_id", limit: 4
t.string "subject", limit: 4
t.string "source", limit: 45
t.text "description", limit: 65535
t.string "significance", limit: 45
t.string "feedback_request"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
add_index "answers", ["feedback_request"], name: "feedback_index"
add_index "answers", ["significance"], name: "signif_index"
add_index "answers", ["source"], name: "source_index"
add_index "answers", ["subject"], name: "FK_HOM_MOD_idx"
add_index "answers", ["user_id"], name: "teacher_answer_index"
フィードバックテーブル
create_table "feedback", force: :cascade do |t|
t.string "feedback_option", limit: 45
end
モデル
feedback.rb
class Feedback < ActiveRecord::Base
self.table_name = 'feedback'
has_many :answers, :class_name => 'Answer'
end
answer.rb
belongs_to :feedback, :class_name => 'Feedback', :foreign_key => :feedback_request
フォーム:
<%= simple_form_for @answer do |f| %>
<%= f.collection_select :feedback_request, Feedback.order(:feedback_option), :id, :feedback_request, {prompt: "Feedback"}, {class: "select large-1 behaviourForm"} %><br>
<%= f.text_field :Due, :id => "datepicker", placeholder: "Due", data: { no_turbolink: true }, class: "behaviourForm select large-1" %>
<%= f.input :source, :as => :text, input_html: { :style=> 'width: 100%;', :rows => 2} %>
<%= f.input :description, :label => "Comments", :as => :text, input_html: { :style=> 'width: 100%;', :rows => 2} %>
<%= f.button :submit,'Create', class: "small button buttonSelect" %>
<% end %>
これは私に、フォームのロード時に次のエラーを与える:私はドキュメントをチェックし、それがはっきりしていないと言うのように
**undefined method `feedback_request' for #<Feedback id: 1, feedback_option: "Curriculum Management">**
。私の髪を引き裂いているので、どんな指導も大いに感謝しています。ありがとう。
エラーメッセージは、「応答」ではなく「フィードバック」で「feedback_request」を呼び出そうとしていることを示しています。フルフォーム(ラインだけでなく)を追加できますか? – spickermann
こんにちは、ありがとう、私は私のフォームを追加しました... – Co2