私は質問をすることができ、多くの回答があるアプリを作成しようとしています。だから私はここで1対多数の関連付けを使用しました。 今私は質問回答と2つのコントローラ質問&答えの2つのモデルがあります。 私はshow.html.erbruby on railsで1対多の関係で新しいレコードを作成する
<%= form_for @answer, :url => "answer", :method => 'post' do |f| %>
<%= f.hidden_field :question_id, :value => @question.id %> #this i am not sure about
<%= f.text_area :content %>
<%= f.submit "SUBMIT" %>
<% end %>
コントローラでshowメソッドは\ \質問でフォームを持っている:
def show
@question = Question.find(params[:id])
@answers = @question.answers
@answer = Answer.new
end
私も答えコントローラのメソッドを作成
post 'questions/show/answer' => "answers#create"
へのルートを作成しました
問題は、question_idが文字列として渡されますが、現在の質問に関連付けるために整数として渡す必要があることです。 どうすればいいのですか、それ以外の方法がありますか?
私は別のコントローラのビューで実行しているフォームを持っています。私のform_for(@answer)は質問コントローラのshow.html.erbビューにあります。これはあなたがちょうど私に与えたコードに影響しますか? –
そうしてはいけません。上記で提供したコードを使用して、回答コントローラの作成アクションを使用して試してみてください。 – Fiyin