Ruby on rails Rails-条件表单元素?

Ruby on rails Rails-条件表单元素?,ruby-on-rails,Ruby On Rails,我有以下表格: @project.id)%%> 此表单有时包含一个@project。有时情况并非如此。这就是应用程序的本质 但是我想用一个partial,因为它是一个大的表单。这里的问题是,如果它不包含@project,页面错误 我怎样才能做到以下几点: 仅当定义了@project时才渲染隐藏字段 如果未定义@project,请为字段指定一个值=“” 谢谢大家! defined?(@project)&&project@project.id:“”)%> <%= f.hidden_fiel

我有以下表格:

@project.id)%%>

此表单有时包含一个@project。有时情况并非如此。这就是应用程序的本质

但是我想用一个partial,因为它是一个大的表单。这里的问题是,如果它不包含@project,页面错误

我怎样才能做到以下几点:

  • 仅当定义了@project时才渲染隐藏字段
  • 如果未定义@project,请为字段指定一个值=“”
谢谢大家!

defined?(@project)&&project@project.id:“”)%>
<%= f.hidden_field (:project_id, :value => defined?(@project) && @project ? @project.id : '') %>
已定义?(@project)和&&project@project.id:“”)%>

你似乎在问一些不同的问题。如果要有条件地呈现该字段,即如果@project未定义,则该字段根本不会显示,请执行以下操作:

<%= f.hidden_field(:project_id, :value => @project.id) if @project %>
@project.id)如果@project%>
如果您希望在没有项目时该值为空,则可以稍微减少上一个答案的条件值:

<%= f.hidden_field (:project_id, :value => @project ? @project.id : '') %>
@项目@project.id:“”)%>

无需检查
@project
是否已定义且不为空,因为它是一个全局变量,直接调用它不会触发“无方法”错误。

您似乎在问一些不同的问题。如果要有条件地呈现该字段,即如果@project未定义,则该字段根本不会显示,请执行以下操作:

<%= f.hidden_field(:project_id, :value => @project.id) if @project %>
@project.id)如果@project%>
如果您希望在没有项目时该值为空,则可以稍微减少上一个答案的条件值:

<%= f.hidden_field (:project_id, :value => @project ? @project.id : '') %>
@项目@project.id:“”)%>

无需检查
@project
是否已定义且不为空,因为它是一个全局变量,直接调用它不会触发“no method”错误。

您能否解释一下为什么分部中@project的条件语句不够用?什么样的条件语句?我可以用IF块把它包起来,但这看起来不优雅?idk I'm new你能解释一下为什么局部中@project的条件语句是不够的吗?什么样的条件语句?我可以用IF块把它包起来,但这看起来不优雅?idk我是新来的