Ruby on rails 访问符号当前值的Rails
在edit.html.erb文件中,我有代码Ruby on rails 访问符号当前值的Rails,ruby-on-rails,ruby,Ruby On Rails,Ruby,在edit.html.erb文件中,我有代码 <%= form_for @submission do |f| %> <%= f.fields_for :submitted_answers do |answer| %> <%= answer.label :question_id %> <%= answer.number_field :question_id %> <% end %> <% end %>
<%= form_for @submission do |f| %>
<%= f.fields_for :submitted_answers do |answer| %>
<%= answer.label :question_id %>
<%= answer.number_field :question_id %>
<% end %>
<% end %>
这将显示一个数字字段,该字段的当前值为question_id,并允许我更改它。现在我只想显示该值,不让任何人更改它。我如何获得该值
如果我说
<% @question = :question_id %>
问题就等于一个字符串:“问题id”你似乎误解了这里发生的事情。符号是一个类似于字符串的对象,但在内存中的存储方式不同,语法也不同。在Ruby中,当您将符号传递给许多方法时,它们被用作方法的引用。在本例中,
:question\u id
符号作为参数传递给number\u字段
帮助器方法,随后在表单对象上调用它(也就是说,可能是ActiveRecord模型)
长话短说,answer
,一个表单生成器,从传递到form\u中的模型中获取问题id,以进行
调用。要显示该值,您可以通过直接调用该方法来执行相同的操作,即:
<%= @submission.question_id %>
你似乎误解了这里发生的事情。符号是一个类似于字符串的对象,但在内存中的存储方式不同,语法也不同。在Ruby中,当您将符号传递给许多方法时,它们被用作方法的引用。在本例中,
:question\u id
符号作为参数传递给number\u字段
帮助器方法,随后在表单对象上调用它(也就是说,可能是ActiveRecord模型)
长话短说,answer
,一个表单生成器,从传递到form\u中的模型中获取问题id,以进行
调用。要显示该值,您可以通过直接调用该方法来执行相同的操作,即:
<%= @submission.question_id %>
我的错,我没有真正添加完整的上下文,基本上答案是一个名为submitted\u answer的嵌套属性的一部分。我正在传递提交,但每个提交都有多个提交的答案。@是的……我解决了这个问题。每个提交的答案都有一个不同的问题id,问题id不是提交的属性。当我试着做第二部分时,我也得到了未定义的方法'form#u object'。嘿,谢谢,这句话实际上是,但你让我走上了正确的轨道。谢谢,您帮助我从数据库中存储的值设置了表单集合\u select元素中的默认值:我的错,我没有真正添加完整的上下文,基本上答案是名为submitted\u answer的嵌套属性的一部分。我正在传递提交,但每个提交都有多个提交的答案。@是的……我解决了这个问题。每个提交的答案都有一个不同的问题id,问题id不是提交的属性。当我试着做第二部分时,我也得到了未定义的方法'form#u object'。嘿,谢谢,这句话实际上是,但你让我走上了正确的轨道。谢谢,您帮助我从数据库中存储的值中设置了表单集合_select元素中的默认值: