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 %>