0

在 rails 4 中,我尝试访问 find_by_sql 中的一些表单对象值。可能吗?

部分代码(在 Active Admin 类中):

f.has_many :actions, allow_destroy: false, new_record: true do |ff|
     ff.input :description,             
            label: ScenarioStep.where('id=?', ff.object.scenario_step_id).pluck(:name).pop.to_s, 
            hint: Action.find_by_sql("
                     select description from actions where scenario_step_id = #{ff.object.scenario_step_id}").to_s,        
            placeholder: 'test'
     ff.input :action_status, :as => :radio, :collection => Action.statuses
end

当我将 find_by_sql 中的查询替换为其 ActiveRecord 等效项时,可以访问ff.object.scenario_step_id的值。

在 find_by_sql 中使用时,出现错误。

4

2 回答 2

0

你能不能不这样做:

hint: ff.object.actions.pluck(:description)
于 2016-05-03T00:38:08.520 回答
0

这个很有帮助: Rails find_by_sql using ruby​​ variable

这是对我有用的解决方案:

hint: Action.find_by_sql(["
     select description from actions where scenario_step_id = ?", ff.object.scenario_step_id]).to_s
于 2016-05-02T22:13:30.380 回答