Добавление функции «Добавить больше документов» в приложение rails с использованием carrierwave - PullRequest
0 голосов
/ 29 апреля 2019

Я пытаюсь добавить функцию добавления большего количества документов в мое приложение rails с использованием оператора carrierwave gem. Я следую этому уроку .Я получаю сообщение об ошибке.

syntax error, unexpected ',', expecting keyword_end
syntax error, unexpected tLABEL

Applicationshow.html.erb

<p>
  <span class="text-label">Client Last Name:</span>
  <%= @application.user.lastname %>
</p>

<p>
  <span class="text-label">Client First Name:</span>
  <%= link_to @application.user.firstname, user_path(@user) %>
</p>

<p>
  <span class="text-label">Clinic:</span>
  <%= @application.clinic_name %>
</p>

<p>
  <span class="text-label">Applicant name:</span>
  <%= @application.applicant_name %>
</p>

<p>
  <span class="text-label">Application Status:</span>
  <%= @application.status %>
</p>

<% @application.documents.each_with_index do |document, index| #grab the index %>
  <%= image_tag(document.url) %> 
  <%= link_to "Delete", user_application_document_path(@user, @application, index), :method => :delete, data: { confirm: "Are you sure you want to delete this document?", class: "btn btn-xs btn-danger" } %>
<% end %>


<%= form_for([@user, @application]), url: user_application_documents_path(@user, @application), method: :post do |f| %>
  <div class="field">
    <%= f.file_field :documents, multiple: true %>
  </div>
  <div class="actions">
    <%= f.submit "Add More Documents" %>
  </div>
<% end %>

documents_controller.rb

before_action :set_user
before_action :set_application

def create
    add_more_documents(documents_params[:documents])
    flash[:error] = "Failed uploading documents" unless @application.save
    redirect_back fallback_location: user_application_path(@user)
  end

private

def set_applicaion
  @applicaion = Applcation.find(params[:application_id])
end  

def set_user
    @user = User.find(params[:user_id])
end  

def add_more_documents(new_documents)
    documents = @application.documents 
    documents += new_documents
    @application.documents = documents
end

def documents_params
    params.require(:application).permit({documents: []})
end

Пожалуйста, помогите мне найти ошибку.Ошибка показывает в строке формы для добавления дополнительных документов.

1 Ответ

1 голос
/ 29 апреля 2019

Это простые неуместные паренсы.form_for([@user, @application]),.Следует читать:

<%= form_for([@user, @application], url: user_application_documents_path(@user, @application), method: :post) do |f| %>
...