0

Railsでasp.netを模倣しよget{} set{}うとしています。これが私のコントローラーで試したことです:

def get_segment=(segment)
    if params[:s] != nil
      segment = params[:s]
    else
      segment = "personal"
    end
end

次に、次のようにアクセスしようとしています:

@something = get_segment

しかし、それは常に として返されnilます。

これどうやってするの?

ありがとう

4

2 に答える 2

1

get{} set{}C# で模倣したいだけの場合は、プロパティSegment

private string _segment;
public string Segment {
    get { return _segment; }
    set { _segment = value; }
}

Ruby では次のように記述します。

# get
def segment
    @segment
end

# set
def segment=(value)
    @segment = value
end

# if you don't have additional logic, you can just write
attr_accessor :segment

次に、 を使用some_instance.segmentして値を取得し、値some_instance.segment = some_valueを変更できます。

上記のコード サンプルによると、sパラメーターが存在しない場合は、既定値を使用してパラメーターをフェッチする必要があります。提供したセッター形式ではなく、ゲッターを定義する必要があります。

def get_segment     # or just "segment"
    params[:s] || "personal"
end
于 2013-03-23T15:01:45.930 に答える