2012-05-20 3 views
0

У меня есть приложение для рельсов, настроенное с помощью эшафотов, созданных для «продуктов». Я также создал новый контроллер и просмотр foo. У меня есть частичная форма из моей модели продуктов в моем индексе foo. В моем контроллере foo меняются различные переменные. Как передать эти переменные в качестве значений по умолчанию в форму продуктов, которая отображается как часть в мой индекс foo?Установка значений по умолчанию для визуализированной формы в Rails

Моя форма:

<%= 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 %> 
+0

Можете ли вы показать код, который вы имеете до сих пор? –

ответ

0

С вашей точки зрения индекса, то нужно сделать, чтобы парциальное с хэш экземпляра контроллера переменных. Обратитесь к rails guide за информацией о том, как это сделать.

0

Я не совсем уверен, что вы просите, но вы можете попробовать передать локальные переменные в частичное.

Например

<%= render :partial => "foo/form", :locals => { :a => 3, :b => "bar", :c => @baz } %> 

Тогда из вашего частичного вы можете использовать a, b и c.

Извлекает прохождение локальных переменных раздела рельсов руководства http://guides.rubyonrails.org/layouts_and_rendering.html

+0

Вот как его визуализируется в моем представлении: <% = render: partial => 'products/form',: locals => {: title => @title}%> и ": title" - это то, что вызывается в форме и «@title» - это переменная, объявленная в контроллере представления im для частичного, но когда я отправляю продукт, параметры пусты: Параметры: {"utf8" => "✓", "authenticity_token" = > "JDNJLNfjlnejddfnjwenr3njnrefjnfjl =", "прошло_feed_id" => "832", "product" => {"title" => "", – Yogzzz

+0

Можете ли вы поделиться кодом в частичном? – Cyrus

+0

Код контроллера Addeed выше, это все, что у меня есть в частичном <% = render: partial => 'products/form',: locals => {: title => @title}%> – Yogzzz

Смежные вопросы