0

私はウェブサイトのいくつかの古い部分に取り組んでいましたが、次のコードを実行しなければならない状況に陥りました

<?=($stone->2_way)? 'checked' : ''?>

これを行おうとすると、ページがクラッシュする原因となります。

<?=($stone->rectangular)? 'checked' : ''?>

しません。変数が数字で始まるからなのだろうか?石のオブジェクトを var_dump して取得できます

object(Cut_Stone)#54 (6) {
  ["errors"]=>
  NULL
  ["attributes":"ActiveRecord\Model":private]=>
  array(13) {
    ["stone_id"]=>
    int(24)
    ["stone_name"]=>
    string(11) "Test Stone "
    ["active"]=>
    int(1)
    ["rectangular"]=>
    int(1)
    ["2_way"]=>
    int(1)
    ["3_piece_radius"]=>
    int(1)
    ["3_piece_straight"]=>
    int(1)
    ["wedge"]=>
    int(1)
    ["partial_wash"]=>
    int(1)
    ["pier_cap"]=>
    int(1)
    ["pier_cap_w_flat"]=>
    int(1)
    ["radiused_hearth"]=>
    int(1)
    ["total_washed"]=>
    int(1)
  }
  ["__dirty":"ActiveRecord\Model":private]=>
  array(0) {
  }
  ["__readonly":"ActiveRecord\Model":private]=>
  bool(false)
  ["__relationships":"ActiveRecord\Model":private]=>
  array(0) {
  }
  ["__new_record":"ActiveRecord\Model":private]=>
  bool(false)
}

また、このオブジェクトは他の場所でも必ず使用されていることに注意することが重要です。そのため、ここで何が起こっているのかはわかりません。

4

1 に答える 1

4

プロパティ名を括弧と引用符で囲んでみてください。

<?=($stone->{'2_way'})? 'checked' : ''?>
于 2013-08-14T18:15:26.223 に答える