Size: a a a

2019 August 14

VV

Vadim Venediktov in RubyRush
источник

VV

Vadim Venediktov in RubyRush
Вставить картинку:

<%= image_tag attachments['image.jpg'].url %>
источник

Э

Эдем in RubyRush
А зачем?
источник

VV

Vadim Venediktov in RubyRush
Эдем
В чём смысл?
Ну какой-нить документ отправить приложением, чтобы не публиковать его
источник

VV

Vadim Venediktov in RubyRush
как вариант
источник

VV

Vadim Venediktov in RubyRush
+ некоторые мейлосервисы внешние ссылки воспринимают как признак спама/фишинга
источник

VV

Vadim Venediktov in RubyRush
короче, разные ситуации бывают
источник

Э

Эдем in RubyRush
Просто вопрос именно о ссылке на приложение. Не очень понятен смысл
источник

Э

Эдем in RubyRush
Приложение можно без ссылки открыть. Как обработает такую ссылку сервис — тоже х.з.
источник

T

Transfer in RubyRush
у нас такое задание в шашлыках было. нет? я помню две недели страдал, Миша "попросил" прикрутить такую фичу, хотя в задании не было
источник

T

Transfer in RubyRush
и вот в гайде очень прекрасно все описано)
источник

Э

Эдем in RubyRush
Ссылку на attachment?
источник

T

Transfer in RubyRush
угу
источник

Э

Эдем in RubyRush
По мне так это странно такую ссылку иметь
источник

LM

Lubomyr Melnyk in RubyRush
Спасибо, сделал через вьюху
источник

t

technocrat in RubyRush
Всем привет!
А обязательно публиковать здесь ответ на "Главное задание курса Ruby Rush!" ?
источник

Э

Эдем in RubyRush
Обязательно, а то ничего не выйдет (на самом деле нет)
источник
2019 August 15

v.

viedit .com in RubyRush
Привет всем. Очень тяжело дается понимание переменных, символов, экземпляров, что куда передается.
Прошу совета по конкретной задаче, которая поможет улучшить понимание

Есть модели Project и Attachment:

class Project < ApplicationRecord
 attr_accessor :temp_file
 has_many :attachments
 accepts_nested_attributes_for :attachments
end

class Attachment < ApplicationRecord
 belongs_to :project
end

Хочу чтобы была форма, через которую добавляется и project и attachment, т е attachment будет вложенный:
форма для метода new:

<%= form_with(model: project, local: true) do |form| %>
   <%= form.text_field :name, placeholder: "Name of the Project" %>
   <%= form.text_area :info, placeholder: "Project info" %>
   <%= form.filestack_field :temp_file, 'Upload Picture Attachment', pickerOptions: {'accept' => 'image/*', onFileUploadFinished: 'onFileUploadFinishedCallback' } %>
     <%= form.fields_for :attachments do |att| %>
       <%= att.text_field :name, class: 'file_name' %>
       <%= att.text_field :url, class: 'file_url' %>
       <%= att.text_field :size, class: 'file_size' %>
       <%= att.text_field :mimetype, class: 'file_type' %>
     <% end %>
   <%= form.submit %>
<% end %>

для загрузки использую сервис filestack, у которого есть хелпер filestack_field так что пусть эта строчка не сбивает вас с толку

как правильно отображать поля и для Project и для Attachment на страницах index и show ?

Просто методом тыка и гугленья удалось сделать отображение для index:

app/controllers/projects_controller.rb
 def index
   @projects = Project.includes(:attachments)
   @attachments = Attachment.all
 end
 
app/views/projects/index.html.erb
   <% @projects.each do |project| %>
     <tr>
       <td><%= project.name %></td>
       <td><%= project.info %></td>
       <td>
         <% project.attachments.each do |attachment| %>
           <td><%= attachment.name %></td>
           <td><%= attachment.url %></td>
           <td><%= attachment.size %></td>
           <td><%= attachment.mimetype %></td>
         <% end %>
       </td>
       <td><%= link_to 'Show', project %></td>
       <td><%= link_to 'Edit', edit_project_path(project) %></td>
       <td><%= link_to 'Destroy', project, method: :delete, data: { confirm: 'Are you sure?' } %></td>
     </tr>
   <% end %>
 
пробую делать похожее для show:

app/controllers/projects_controller.rb
 def show
   @project = Project.find(params[:id])
   @attachment = Attachment.find(params[]) - нет понимания как найти attachments принадлежащие к project с конкретным id. пробовал (params[:project_id])
 end

app/views/projects/show.html.erb
<p><%= @project.name %></p>
<p><%= @project.info %></p>
<p><%= @project.attachment.name %></p>
<p><%= project.attachment.url %></p>         - пробовал так и пробовал @project.attachment.url,
<p><%= project.attachment.size %></p>
<p><%= project.attachment.mimetype %></p>
<%= link_to 'Edit', edit_project_path(@project) %> |
<%= link_to 'Back', projects_path %>

Слабо понимаю как при связях моделей оперировать двумя моделями сразу

Посоветуйте решение этой проблемы, и куда копать, чтобы такие вопросы отпали. В мануалах обычно сразу разбирается конкретный пример и такие вопросы не рассматриваются (типа само собой разумеющееся).
источник

DM

Dmitriy Tensei Malys... in RubyRush
project.attachments.each do |attachment|
....
end
источник

DM

Dmitriy Tensei Malys... in RubyRush
если тебе нужно вывести ток связаные аттачменты
источник