Ruby on rails 在Rails中设置渲染窗体的默认值

Ruby on rails 在Rails中设置渲染窗体的默认值,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-3.1,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 3.1,我有一个rails应用程序,其中有一个为“产品”设置的脚手架。我还创建了一个新的foo控制器和视图。我在foo索引中有一个来自产品模型的部分表单。在我的foo控制器中定义了各种变量。如何将这些变量作为默认值传递到产品表单中,该表单将作为部分呈现到我的foo索引中 我的表格: <%= form_for @product, :html => { :multipart => true } do |f| %> <% if @product.errors.any? %&g

我有一个rails应用程序,其中有一个为“产品”设置的脚手架。我还创建了一个新的foo控制器和视图。我在foo索引中有一个来自产品模型的部分表单。在我的foo控制器中定义了各种变量。如何将这些变量作为默认值传递到产品表单中,该表单将作为部分呈现到我的foo索引中

我的表格:

<%= form_for @product, :html => { :multipart => true } do |f| %>
  <% if @product.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(@product.errors.count, "error") %> prohibited this product from being saved:</h2>

      <ul>
      <% @product.errors.full_messages.each do |msg| %>
        <li><%= msg %></li>
      <% end %>
      </ul>
    </div>
  <% end %>

  <div class="field">Feed ID
    <%= params[:feed_id] %>
    <%= hidden_field_tag('passed_feed_id', params[:feed_id]) %>
  </div>

  <div class="field">
    <%= f.label :uploadedimage %><br>
    <%= f.file_field :uploadedimage %>
  </div>

  <div class="field">
    <%= f.label :title %>
    <%= f.text_field :title %>
  </div>

  <div class="field">
    <%= f.label :category_names %>
    <%= f.text_field :category_names, :size => 65 %>
    <%= f.label :categories %>
    <%= f.text_field :categories %>
  </div>

  <div class="field">
    <span><%= f.check_box :published %> <%= f.label :published %> </span>
  </div> 

  <div class="field">
    <%= f.label :url %>
    <%= f.text_field :url %>

    <%= f.label :canonical_url %>
    <%= f.text_field :canonical_url %>

    <%= f.label :image_url %>
    <%= f.text_field :image_url %>
  </div>
  <div class="field">
    <%= f.label :long_descr %><br />
    <%= f.text_area :long_descr %>
  </div>
    <div class="field">
    <%= f.label :mp_seller_name %><br />
    <%= f.text_field :mp_seller_name %>
  </div>
  <div class="field">
    <%= f.label :curr_item_price %>
    <%= f.text_field :curr_item_price %>
    <%= f.label :base_item_price %>
    <%= f.text_field :base_item_price %>
  </div>
  <div class="field">
    <%= f.label :id_str %><br />
    <%= f.text_field :id_str %>
  </div>
  <div class="field">
    <%= f.label :id %><br />
    <%= f.text_field :id %>
  </div>
 </div>
  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>

从索引视图中,您需要使用控制器实例变量的散列来呈现为部分。请参阅如何执行此操作。

我不确定您要问什么,但您可能希望尝试将局部变量传递给您的局部变量

比如说

<%= render :partial => "foo/form", :locals => { :a => 3, :b => "bar", :c => @baz } %>
然后,在你的部分中,你可以使用a、b和c


签出rails指南的传递局部变量部分

您能显示到目前为止的代码吗?这是它在我的视图中的呈现方式:'products/form',:locals=>{:title=>@title}%>和:title是表单中调用的内容,@title是在视图的控制器中声明的变量,我呈现部分,但是,当我提交产品时,参数为空:参数:{utf8=>✓, 真实性\u令牌=>JDNJLNfjlnejddfnjwenr3njnrefjnfjl=,传递\u提要\u id=>832,产品=>{title=>,上面添加了控制器代码,这是我的部分“产品/表单”中的全部内容:局部变量=>{:title=>@title}%>对不起,apps/views/products/\u form.html.erb文件中有什么?form\u for标记正在从@product变量推断:title。如果要更改标签,请执行以下操作