Я создаю веб-сайт, на котором пользователь может создать «проект», содержащий несколько «статей».
Я пытаюсь связать создание нового «проекта» с конкретным пользователем, который создаетЭто.Для этого я передаю как hidden value
the current_user
в simple_form
.Однако я не в состоянии это сделать, на самом деле проект не сохраняет. Однако , если я изменю следующую строку:
<%= f.association :user, label: "Which user is creating it?",
:as => :hidden, :input_html => { :value => current_user } %>
с помощью
<%= f.association :user%>
Это позволяет мне выбирать среди всех пользователей и, если я выбираю одного,он создает «проект».
Поэтому , я думаю, моя проблема в том, как я прохожу current_user
в simple_form
.Я передаю это так :input_html => { :value => current_user }
_form_new.html.erb
<%= current_user%> #IT DISPLAYS CORRETLY THE CURRENT USER
<div class="container">
<div class="row ">
<div class="col-sm-6 col-sm-offset-0">
<%= simple_form_for(@project) do |f| %>
<%= f.error_notification %>
<%= f.error_notification message: f.object.errors[:base].to_sentence if f.object.errors[:base].present? %>
<div class="form-inputs">
<%= f.input :title, label: "Write the title of the project you are creating" %>
<%= f.input :body, label: "Write a short summary of the project you are adding", as: :text, input_html: {rows: 15, cols: 10} %>
<%= f.association :user, :as => :hidden, label: "Which user is creating it?", :input_html => { :value => current_user } %>
</div>
<div class="form-actions">
<%= f.button :submit %>
</div>
<% end %>
</div>
</div>
</div>
User.rb
class User < ApplicationRecord
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :validatable
has_many :projects
end
Project.rb
class Project < ApplicationRecord
belongs_to :user
has_many :papers
end