Rails访问符号的当前值
在edit.html.erb文件中,我有代码
这显示了一个数字字段,其当前值为question_id,允许我更改它。 现在我只想显示该值而不是让任何人改变它。 我怎样才能获得这个价值?
如果我说
问题只是等于一个字符串:“question_id”
你似乎在误解这里发生的事情。 符号是一个与字符串类似的对象,但在内存中以不同的语法存储。 当您将符号传递给Ruby中的许多方法时,它们将被用作方法的引用。 在这种情况下, :question_id
符号作为参数传递给number_field
辅助方法,随后在表单对象上调用(即,可能是ActiveRecord模型)。
简而言之, answer
,表单构建器,从您传递给form_for
调用的模型中获取问题ID。 要显示该值,您可以通过直接调用该方法来执行相同的操作,即:
<%= @submission.question_id %>
但是,由于您使用fields_for
迭代这些,您可以通过调用object
来获取表单构建器引用的object
:
<%= answer.object.question_id %>