Ruby on rails 在Rails中何处声明具有共享部分形式的对象?
我有一个文本区域表单来创建一个快速的Ruby on rails 在Rails中何处声明具有共享部分形式的对象?,ruby-on-rails,ruby,ruby-on-rails-3,activerecord,Ruby On Rails,Ruby,Ruby On Rails 3,Activerecord,我有一个文本区域表单来创建一个快速的Idea对象。此表单出现在网站的许多部分,因此我将其作为shared/\u idea\u form.html.haml文件移动 我目前正在每个控制器操作中定义新对象,其中表单使用@ideas=Idea.new使其工作 是否有一种更方便的/全局的方式来定义每个动作之外的@ideas=Idea.new?即,作为应用程序控制器中的前置过滤器。我不确定这是否是正确的方法 您可以直接将其放入视图中 <%= form_for @idea ||= Idea.new
Idea
对象。此表单出现在网站的许多部分,因此我将其作为shared/\u idea\u form.html.haml
文件移动
我目前正在每个控制器操作中定义新对象,其中表单使用@ideas=Idea.new
使其工作
是否有一种更方便的/全局的方式来定义每个动作之外的
@ideas=Idea.new
?即,作为应用程序控制器中的前置过滤器。我不确定这是否是正确的方法 您可以直接将其放入视图中
<%= form_for @idea ||= Idea.new do |f| %>
#your text area
<%end%>
#您的文本区域
您可以直接将其放在视图中
<%= form_for @idea ||= Idea.new do |f| %>
#your text area
<%end%>
#您的文本区域
如果您在大多数操作中都有它,是的,这应该是一个好方法。如果是我在你的位置上,我想我会打破规则,并在局部地区这样做。。。有时规则没有意义,这次就是其中之一。您只需要在每一页上都有一个表单,因此您需要始终为表单创建一个新的想法。。或者在局部上这样做,或者只创建没有辅助对象的表单
只有一个意见:)如果你对大多数动作都有意见,是的,那应该是一个好方法。如果是我在你的位置上,我想我会打破规则,并在局部地区这样做。。。有时规则没有意义,这次就是其中之一。您只需要在每一页上都有一个表单,因此您需要始终为表单创建一个新的想法。。或者在局部上这样做,或者只创建没有辅助对象的表单
只有一个观点:)有很多选择:使用
体面的曝光宝石(,很酷!),使用前过滤器设置@idea
的值,手动在表单中创建新的idea
,定义一些助手,为您的表单提供准备好的Idea
有很多选择:使用体面的曝光gem(,很酷!),使用before\u过滤器设置@Idea
的值,在表单中手动创建新的Idea
,在app/controllers/application\u controller.rb中定义一些助手,为您的表单提供准备好的想法:
class ApplicationController < ActionController::Base
before_filter :create_new_idea
def create_new_idea
@idea = Idea.new
end
end
在app/controllers/application\u controller.rb中:
class ApplicationController < ActionController::Base
before_filter :create_new_idea
def create_new_idea
@idea = Idea.new
end
end