Ich bin neu bei Rails. Ich habe einen Controller für Posts, Kommentare und Anhänge. Ich habe meinen eigenen Attachments-Controller erstellt, seit ich die FilePicker-API verwende. Ich versuche es so zu erstellen, dass ein Benutzer eine Datei an einen Post anhängen und eine Datei an einen Kommentar anhängen kann, wenn sie dies wünschen.Rails-Attach-Datei mit mehreren Controllern
Beiträge Controllers
def create
@post = current_user.posts.build(post_params)
if @post.save
flash[:success] = "Your post has been created!"
redirect_to root_path
else
flash[:alert] = "Your new post couldn't be created! Please check the form."
render :new
end
end
...
private
def post_params
params.require(:post).permit(:caption, :user_id)
end
Anhänge-Controller
def create
title = params[:attachment][:title]
if Attachment.exists?(:title => title)
redirect_to attachments_path
else
@attachment = current_user.attachments.build(attachment_params)
@attachment.user_id = current_user.id
name = params[:attachment][:name]
@attachment.save
redirect_to attachments_path
end
end
...
private
def attachment_params
params.require(:attachment).permit(:title, :user_id, :name)
end
Beiträge anzeigen für die Einreichung einen Beitrag
<%= simple_form_for(@post) do |f| %>
<div class="profile_container">
<div class="updateArea">
<%= f.text_area :caption, class: "textarea", placeholder: "Post here", label: false %>
<%= f.button :submit, "Post", disabled: true, class: "post_button", id: "post_button_padding" %>
<%# <%= f.association :user %>
</div>
</div>
Attachments
eine Datei hochzuladen sehenroutes.rb
resources :posts do
resources :comments
end
resources :attachments
So habe ich Kommentare zu Beiträgen angebracht und erstellt, dass die Assoziation über verschachtelte Routen und die Verbindungen zwischen den Modellen über has_many und belongs_to. Muss ich jetzt das gleiche für Attachments tun oder gibt es eine andere Methode? Ich möchte eine Beziehung zwischen Posts/Kommentaren und Anhängen, so dass ein Benutzer Dateien anhängen kann, aber ich habe auch einen separaten Abschnitt in meiner App, um Dateien ohne "Post" zu laden/herunterzuladen, weshalb ich eine separater Controller für Anhänge Jeder Rat, wie man diese Funktionalität erstellt, so dass ein Benutzer eine Datei an seinen Beitrag anhängen kann, würde sehr geschätzt werden.
Ich dachte daran, das gleiche zu tun, nur um es sauber zu halten, wie Sie vorgeschlagen haben. Irgendwelche Ratschläge, wie ich das aktuelle Attachments-Modell, das ich habe, in das Posts-Modell integrieren würde? – user3318660