【问题标题】:Rails 4 - form object values accessed in the find_by_sql queryRails 4 - 在 find_by_sql 查询中访问的表单对象值
【发布时间】:2016-05-03 08:38:08
【问题描述】:

在 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 中使用时,出现错误。

【问题讨论】:

    标签: ruby-on-rails forms find-by-sql


    【解决方案1】:

    这个很有帮助: 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
    

    【讨论】:

      【解决方案2】:

      你能不能这样做:

      hint: ff.object.actions.pluck(:description)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-08-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多