Я стараюсь делать отзывы пользователей, когда пользователь может написать отзыв другому пользователю, я создаю обзор таблиц с: content, user_reviews с: for_user_id и by_user_id, мои маршрутырельсы 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 %>
всю работу, но никакие данные не отправить в БД: \ то, что я делаю неправильно?
Неа, до сих пор ничего не спасет. – sevenseacat
Я пропустил, чтобы включить метод 'save', мой плохой. Ответ обновлен. – marzapower
это работает, но рельсы не отправляют данные в таблицу соединений, users_review – Adyl