Как сделать форму, в таблице, для выбора использования в рельсах? - PullRequest
0 голосов
/ 17 февраля 2019

Я создаю приложение, в котором я передаю массив из контроллера для просмотра, заполняю его в таблице, а затем пользователь может выбрать его и создать сообщение.Код ниже.

Я не знаю, как использовать form_tag или аналогичный для отображения и сделать его доступным для отправки и позволить пользователю изменять сумму.Любая помощь / совет?

Пример массива

[{:stock_id=>10, :name=>"VALE3", :value=>"50.02", :amount=>"5"}, {:stock_id=>10, :name=>"VALE3", :value=>"50.02", :amount=>"5"}]

Контроллер

def get_stocks

    if !current_user.nil?
      user = User.all.where(id: current_user&.id)
      @user_stocks = Array.new
      for u in user.first.stocks
        user_stock =  UserStock.find_by(stock_id: u['id'])
        @user_stocks << {stock_id: u['id'],name: u['name'], value: u['value'], amount: user_stock['amount']}
      end
    end
  end

Просмотр

 <div class="table-bordered table-responsive">
    <table class="table">
        <thead>
        <tr>
            <th scope="col">Code</th>
            <th scope="col">Price</th>
            <th scope="col">Amount</th>
            <th scope="col">Action</th>
        </tr>
    </thead>
    <tbody>
        <% @user_stocks.each do |stock| %>
            <%# byebug %>
            <tr>
                <td><%= stock[:name] %></td>
                <td><%= stock[:value] %></td>
                <td><%= stock[:amount] %></td>   ## THE USER NEED TO CHOOSE THE AMOUNT HE/SHE WANTS TO SELL
                <td><%= link_to 'Sell', new_transaction_path %></td>
            </tr>
        <% end %>
    </tbody>
    </table>
 </div>

1 Ответ

0 голосов
/ 18 февраля 2019

Я только начал использовать Rails, поэтому я не знаю, является ли это лучшим решением, но в любом случае:

Вы можете использовать конструктор форм, чтобы создать редактируемое текстовое поле и что-то вроде кнопки сохранения, как показано здесь:

https://guides.rubyonrails.org/getting_started.html#updating-articles

Я действительно не знаю, является ли это наиболее элегантным решением или вы можете сделать так, чтобы оно хорошо смотрелось на вашем столе, но я надеюсь, что это немного поможет.

Редактировать:

чтобы включить его в свою таблицу, вы, вероятно, можете создать _form.html.erb и создать всю таблицу, аналогичную той, что я делаю в моей задаче в данный момент:

    <% @project.order(:title).each do |project| %>
    <tr>
    <td><%= link_to project.title, project_path(project) %></td>
    <td><%= project.status %></td>
    ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...