rails中变量/对象名称后面的问号

时间:2015-02-04 07:46:40

标签: ruby-on-rails ruby

我对铁轨上的红宝石很新。感谢您提前耐心等待。

<div class="field">
    <%= @pin.image_url if @pin.image? %>
    <%= f.file_field :image %>
    <%= f.hidden_field :image_cache %>
</div>
  1. @pin.image?做了什么? 没有图像?我的控制器中的方法。我猜它是每个控制器的rails提供的辅助功能之一吗?是对的吗?

  2. 什么是f?

  3. 这是我的pin模型

    class Pin < ActiveRecord::Base
        extend FriendlyId
        friendly_id :name, use: :slugged    
        belongs_to :board
    end
    

    及其架构

    class CreatePins < ActiveRecord::Migration
      def change
        create_table :pins do |t|
          t.string :name
          t.string :image
          t.integer :board_id
    
          t.timestamps null: false
        end
      end
    end
    
    class AddImageToPins < ActiveRecord::Migration
      def change
        add_column :pins, :image, :string
      end
    end
    

1 个答案:

答案 0 :(得分:2)

  

没有图像?在我的控制器中的方法。

您不是在控制器上调用此方法,而是在分配给@pin变量的对象上调用此方法,该变量可能是您的Pin模型。而且你的模型确实有image?方法。

  

什么是f?

这是form builder object,传递到form_for块。