0
我有如下機型:如何爲新表單使用上次創建的表單值?
User
has_many :armies
Army
belongs_to :user
我控制器與增加current_user
:
class ArmiesController < ApplicationController
before_filter :authenticate_user!
def new
@army = Army.new
end
def create
@army = current_user.armies.new(params[:army])
respond_to do |format|
if @army.save
format.html { redirect_to new_army_path, :notice => "New army added" }
else
format.html { render :new }
end
end
end
end
我想用我的最後創建表單價值,爲新的。我們會用我的strength
領域爲例:
<%= form_for @army do |f| %>
<%= f.label :strength, "Army Strength" %>
<%= f.text_field :amount %>
<%= f.submit "Create" %>
<% end %>
如何節省用戶輸入的在strength
字段,因此它仍然是窗體上的值創建的最後一個表格後?
編輯:
def new
@army = Army.new(strength: session[:last_army_strength],
type_id: session[:last_type])
end
def create
@army = current_user.armies.new(params[:army])
session[:last_army_strength] = params[:army][:strength]
session[:last_type] = params[:army][:type_id]
respond_to do |format|
if @army.save
format.html { redirect_to new_army_path, :notice => "New army added" }
else
format.html { render :new }
end
end
end
end
是否確定有一個以上的會議?我對所有需要的領域都做了這個。 – LearningRoR 2012-08-07 14:33:48
每個用戶只有一個會話。您可以根據需要存儲多個變量。如果你願意,你也可以存儲數組,哈希值,以使事情更有條理。 – Dogbert 2012-08-07 14:54:48
當你說一個會話。我不明白,因爲如果你看看我的編輯,它可以讓我做兩個會話,也許這就是說一個會話。我猜他們有更好的方式來寫這個? – LearningRoR 2012-08-07 15:05:24