这对我来说似乎是一个相当简单的问题,但我遇到了一些问题。
在我的一个观点中,我使用类似
的内容<% if current_page?(:controller => "activities", :action => "new") %>
*Do something here*
<% end %>
并且它在表单的新页面上执行特定操作。很容易,效果很好。
不幸的是,我发现当你有一个“新活动”表格(假设正常的脚手架控制器)时,网址将来自
http://localhost:3000/activities/new
提交容易出错的表格后
http://localhost:3000/activities
但它仍会显示具有相应错误的新活动表单。所以基本上一切都运行如何除了我需要为current_page提供http://localhost:3000/activities/new的网址?功能,以确认它确实是一个新的表单页面。
我想知道这个问题是否有某种解决方法。谢谢!
OH,这是控制器代码,以防任何人需要看到它
控制器代码
def new
@activity = Activity.new
end
def create
@activity = Activity.new(params[:activity])
if @activity.save
flash[:notice] = "Successfully created activity."
redirect_to @activity
else
render :action => 'new'
end
end
答案 0 :(得分:2)
认为您需要检查创建和新
<% if current_page?(:controller => "activities", :action => "new") or current_page?(:controller => "activities", :action => "create") %>
不是那么漂亮可能用辅助方法把它包起来?
答案 1 :(得分:0)
您还可以检查创建的字段是否为空。因为在创建活动之前不会设置它。