我正在開發一個Q &一個應用程序,事情是,我想增加人們發佈答案的能力。創建多個關係
我已經建立了一個遷移,以便問題具有與 rails g migration add_user_id_to_questions
的用戶相同的ID,然後添加has_many/belongs_to
關聯。
現在我堅持如何創建一個關係的答案。
我已經添加了一個答案支架搭配: rails g scaffold Answer answer:integer
然後我做了遷移:(?是不是一個正確的做法,以創建一個遷移,這樣的答案有相同ID的問題)
rails g migration add_answer_id_to_answers
並添加了has_many/belong_to
以及。
但現在呢?我如何回答具有相同問題的ID?由於放映視圖中,如果用戶帖子的答案將主要是可見的每一個問題...
顯示視圖:
<% @answers.each do |answer| %>
<div class="well bgBlack">
<div class="media">
<a class="pull-left">
<% if answer.user.avatar.blank? %>
<img src="http://www.adtechnology.co.uk/images/UGM-default-user.png" style="width: 75px;">
<% elsif answer.user.avatar %>
<%= image_tag answer.user.avatar, :style => "width:75px;" %>
<% end %>
</a>
<div class="media-body">
<p class="white"><%= link_to answer.user.username, answer.user, :class => " bg" %></p>
<p class="white small"><%= answer.answer %></p>
</div>
<div class="pull-right">
<% if user_signed_in? %>
<% if answer.user_id == current_user.id %>
<%= link_to 'delete', answer_path(answer), :method => :delete, :class => "text-muted white" %>
<% end %>
<% end %>
</div>
</div>
</div>
<% end %>
用戶模式:
class User < ActiveRecord::Base
mount_uploader :avatar, AvatarUploader
has_many :questions, :dependent => :destroy
has_many :answers, :dependent => :destroy
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
end
問題模型:
class Question < ActiveRecord::Base
belongs_to :user
has_many :answers
end
答型號:
class Answer < ActiveRecord::Base
belongs_to :user
belongs_to :question
end
答控制器:
class AnswersController < ApplicationController
before_action :set_answer, only: [:destroy]
respond_to :html
def create
@answer = current_user.answers.build(answer_params)
@answer.save
redirect_to :back
end
def destroy
@answer.destroy
redirect_to :back
end
private
def set_answer
@answer = Answer.find(params[:id])
end
def answer_params
params.require(:answer).permit(:answer)
end
end
你真的仍與Ruby on Rails的3個工作? – Raffael