railsnoobquestion:我想開發一個功能,用戶可以在軌道保存對象,然後轉發到窗體再次,創建另一個對象。按鈕:創建一個對象,然後重定向到創建另一個?
我可以想到兩個選擇: - 創建一條全新的路線 - 將數據添加到餐館發佈對象,檢查控制器中的數據?
有沒有人有類似的功能嗎?
thx
railsnoobquestion:我想開發一個功能,用戶可以在軌道保存對象,然後轉發到窗體再次,創建另一個對象。按鈕:創建一個對象,然後重定向到創建另一個?
我可以想到兩個選擇: - 創建一條全新的路線 - 將數據添加到餐館發佈對象,檢查控制器中的數據?
有沒有人有類似的功能嗎?
thx
的解決方案是創建一個隱藏的表單字段與另一個提交按鈕:
%input#create_another{:name => "create_another", :type => "hidden", :value => 0 }
%a.btn.btn-info#submit_another
然後使用JavaScript來提交表單:
jQuery(document).ready(function() {
$("#submit_another").click(function() {
$('#create_another').attr('value','1');
console.log($('#create_another').attr('value'));
$(".formtastic").submit();
return true;
});
});
各自的控制器內,於我而言,類別控制器:
if params[:create_another].nil?
@create_another = false
else
@create_another = (params[:create_another] == "1")
end
respond_to do |format|
if @category.save
if @create_another
format.html { redirect_to new_restaurant_category_path(@restaurant), notice: I18n.t(:entry_successfully_created, :name => I18n.t(:category_singular)) }
以下是帖子資源的標準創建操作。
def create
@post = Post.new params[:post]
if @post.save
redirect_to @post, notice: 'Post was successfully created.'
else
render :new
end
end
所有你需要做的是改變重定向從@post
到new_post_path
。
redirect_to new_post_path, notice: 'Post was successfully created.'
這就是你想要的?
謝謝,這是有益的。我會發布我的解決方案,類似於你的解決方案。 – Hendrik 2012-03-15 18:18:26