从上一个视图/控制器传入ID

时间:2014-03-03 16:50:45

标签: ruby-on-rails ruby-on-rails-4 devise

我一直在争吵。

我有一个使用用户,时间表和条目的简单应用程序。时间表属于用户,用户有许多时间表。参赛作品属于时间表。

用户可以单击时间表并显示该时间表中的条目。我可以在rails控制台中创建条目,它们会正确显示。但我在条目上插入正确的时间表ID时遇到问题。

我可能没有正确地执行此操作,但是我在条目视图中有一个链接到条目视图。我无法将时间表ID添加到创建条目视图中。

我正在使用看起来像这样的form_for。

<%= form_for(:entry, :url => {:action => 'create'}) do |f| %>

    <table summary="Subject form fields">
      <tr>
        <th>Customer</th>
        <td><%= f.text_field(:customer_name) %></td>
      </tr>
      <tr>
        <th>Order Number</th>
        <td><%= f.text_field(:order_number) %></td>
      </tr>
      <tr>
        <th>Time In</th>
        <td><%= f.text_field(:time_in) %></td>
      </tr>
      <tr>
        <th>Time Out</th>
        <td><%= f.text_field(:time_out) %></td>
      </tr>
      <tr>
        <th>Time Sheet ID</th>
        <td><%= f.text_field(:time_sheet_id, :value => @sheet_id ) %></td>
      </tr>

    </table>

    <div class="form-buttons">
      <%= submit_tag("Add Entry") %>
    </div>

  <% end %>

这是我的入门控制器。

   def create
        @time_id = TimeSheet.find(1)
        @new_entry = Entry.new(entry_params)
        if @new_entry.save
          flash[:notice] = "New Entry has been Added!"
          redirect_to(:action => 'index')
        else
          render('new')
        end
      end

2 个答案:

答案 0 :(得分:0)

改为:

@new_entry = time_id.build_entry(entry_params)

答案 1 :(得分:0)

对不起,我结账了。

措辞不好,我发现了问题。

我需要做的就是从我的时间表控制器运行form_for并将其重定向到条目控制器。