我正在嘗試做用戶評論,當用戶可以向其他用戶發表評論時,我創建了表格評論:content,user_reviews與:for_user_id和by_user_id, 我的路線rails 4沒有數據正在傳輸到db
devise_for :users
resources :users, :only => [:show] do
resources :reviews
end
class Review < ActiveRecord::Base
belongs_to :user
has_many :users, :through => :users_reviews
end
class User < ActiveRecord::Base
has_many :users_review
has_many :reviews, :through => :users_review
end
class UsersReview < ActiveRecord::Base
belongs_to :user
belongs_to :review
end
class ReviewsController < ApplicationController
def new
@user = User.find(params[:user_id])
@review = @user.reviews.new(params[:for_user_id])
end
def create
@user = User.find(params[:id])
@review = current_user.reviews.build(review_params)
redirect_to root_path
end
def show
end
def index
@user = User.find(params[:for_user_id])
@reviews = Review.all
end
private
def review_params
params.require(:review).permit(:user_id, :user_id, :content)
end
end
和我的觀點
<%= form_for([@user, @user.reviews.build]) do |f| %>
<%= f.text_area :content, placeholder: "Your review" %>
<%= f.submit "Go", class: "btn btn-large btn-primary" %>
<% end %>
所有的工作,但沒有數據發送到DB:\我做錯了嗎?
沒了,仍然不會保存任何東西。 – sevenseacat
我錯過了包括'save'方法,我的不好。答案已更新。 – marzapower
它工作,但軌道不發送數據到連接表,users_review – Adyl